[GUIDE][4.4][rooted] How to force enable low RAM mode and status bar transparent - Android General

I've heard somebody told that they had to disable low RAM function in Kitkat to enable status bar transparent. So in this post, I'll show you how to enable low Ram but the status bar still can be transparent when you're in launcher or lockscreen
First, we need:
- your phone rooted, deodexed running android 4.4+
- Nandroid backup (very important)
- Apktool and you know how to use it
- Notepad++
Ok, so let's start:
Step 1: copy these file from your phone to your computer:
/system/framework/framework.jar
/system/priv-app/SystemUI.apk
/system/build.prop
Step 2: open build.prop in notepad++, find this line:
Code:
ro.config.low_ram=
if it say "true", skip to step 4
if it say "false", just change to "true" and reboot your phone
if you can not find this line, or nothing change after you changed it to "true" and reboot, follow step 3
Step 3: (force enable low Ram)
Add this line to your build.prop
Code:
ro.config.low_ram.mod=true
Now use apktool to decompile your framework.jar
Navigate to \framework.jar.out\smali\android\app\ActivityManager.smali, open it in notepad++
Find this line:
Code:
ro.config.low_ram
And change it to
Code:
ro.config.low_ram.mod
Compile, push it back to your phone and reboot
Wait until your phone booted up
Step 4: (force enable status bar transparent)
Decompile SystemUI.apk
Navigate to \SystemUI\smali\com\android\systemui\statusbar\phone\BarTransitions.smali
find these line:
Code:
invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z
move-result v0
Change it to
Code:
const/4 v0, 0x1
Compile and push it back to your phone
Done :highfive:
Sorry for my bad english. This is my first post since I used xda. Hope you like it!

Thank you for your post

Bro I'd love to have this, but my de-recompiling skills are next to 0. If I upload the files, would you mind doing it for me? Thanks ?
Inviato dal mio Xperia U utilizzando Tapatalk

Bert98 said:
Bro I'd love to have this, but my de-recompiling skills are next to 0. If I upload the files, would you mind doing it for me? Thanks ?
Inviato dal mio Xperia U utilizzando Tapatalk
Click to expand...
Click to collapse
Please check your code again. You saw that error when you compile framework-res or SystemUI?

I was able to do the changes up to the framework.jar and also edited systemui.apk but got systemui force close at boot. One question though I got odexed systemui.apk that has a systemui.odex do I need to deodex them at a single systemui.apk? either way I tried them both but same, results to force close hoping for help in this one :good:

For those on Lollipop or above:
I was poking around in the Android Source when i found these two functions
Code:
/**
* Used by persistent processes to determine if they are running on a
* higher-end device so should be okay using hardware drawing acceleration
* (which tends to consume a lot more RAM).
* @hide
*/
static public boolean isHighEndGfx() {
return (!isLowRamDeviceStatic() &&
!Resources.getSystem().getBoolean(com.android.internal.R.bool.config_avoidGfxAccel))
|| isForcedHighEndGfx();
}
/**
* @hide
*/
public static boolean isForcedHighEndGfx() {
return SystemProperties.getBoolean("persist.sys.force_highendgfx", false);
}
So, to enable high end graphics, all you have to do is set a new property "persist.sys.force_highendgfx" to true and it should work
Tried and working
Cheers!
Technohacker

If the original code of the option is "ro.config=low_ram" why add a ".mod" in the end of the code when adding it to build.prop? Will that still have any effects? Sincr i dont have that option available in build.prop
And in what part of the build.prop should i put the code?
What other .jar files or other files contain the code? Only framework.jar? What about the services.jar??

Bootloop on Android 11

Related

[UPDATED 24.03.2011] X10 Theme Reference

24.03.2011: Added a link to the themes section and added my last post here for a while (maybe ):
_calum_ said:
So I'm back after dropping off the face of the planet for a while I've been getting into WP7 development and so my X10 has been in the top drawer for a couple of months... I may get into Android development soon but at the moment I'm a bit short on time (as always ).
I still would like to get the timescape animations sorted (I hate being beaten ) but I just can't seem to get the cheecksum figured out. If I ever get them sorted I'll update this post again, but until then I probably won't do anything more with my X10.
I hope this post has been helpful. See ya
Click to expand...
Click to collapse
This thread was opened to consolidate the information/knowledge about themes for the x10. It is basically a reference thread with key bits of information and links so that a new user can find all the necessary information in one place. At the moment this is spread out all over the place, there are a lot of different threads with different bits of information, and the lack of updates in Draken Korin’s sticky makes it pretty hard to find new information. It should also help us avoid the old ‘where the hell was that image…?’ and ‘where was that … thread again?’.
Please PM me or post any useful information that is missing, especially the OPs of the threads in the Themes section below. I will continually update this thread with any new information or links.
All useful information that is posted here will be added to this first page, so that you don't have to wade through pages of posts to try and find something. Everything after the first page should therefore either be repeated on this page somewhere or is just conversation. Please yell at me should this not be the case
Please help me out by posting information, ideas etc.
Creating Themes for the x10:
1. Getting Started
2. Using ADB
3. Creating a theme
4. Modifying XML files and adding resources
5. Modifying Services.jar
6. Timescape/Mediascape
7. Resource locations
8. Theme collection
9. Recovery tips
Change log
14.11.2010 - Added section 4
18.11.2010 - Updated section 3 with a complete guid for modifying .9.png's
25.11.2010 - Updated section 7 with text color locations in the xml files
21.12.2010 - Added a link to MrRusch's tool to section 4
24.12.2010 - Added link to 2.1 Sources to section 5
Getting Started
Before getting started on a theme you'll need to set a few things up. Here's a list of everything you'll need:
Root. Your phone will need to be rooted
Java SDK (JDK). You'll need to install the JDK (and JRE) before you can start modifying the contents of your phone. Check out this video of Chewitts if you're having problems on x64 systems.
ADB (from the Android SDK). You need ADB to push/pull files to and from your phone (see the next post)
X10 Drivers. The drivers are usually installed if you install SEUS. Sometimes however you may need to do a manual installation (from my experience mainly on Win7 x64 machines).
The easiest way to make sure everything is set up properly is to install someone elses theme. Check out this post (1.6) or this post (2.1) for instructions.
After you've done all that take a look at this.
Have you installed someone elses theme yet? If not then go directly to jail, do not pass GO and do not collect £200
Using ADB
There's an ADB Guide here (thanks to XPeriaX10iUser for having this in his sig ): ADB, Fastboot, and Nandroid for Noobs
Before you start need to unsecure the shell. Use the following adb commands to do this if you haven't already (to reverse it do chmod 0755... thanks XperiaX10iUser ):
Code:
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
chmod 4755 /system/bin/sh
This is all described in the links posted in the Getting Started section above
Thanks to MrRusch for making our lives easier with this tool. For those of you new to this, you should still read the guide linked above so that you know what is actually going on.
Here's a step by step for pulling the framework from your phone and pushing it back. The original post is here. The boot animation mod at the bottom is for 1.6. In 2.1 it is found in system/media/bootanimation.zip.
@gavriel18: I hope it's OK to use this here, if not then let me know.
gavriel18 said:
Step 1:
Connect phone to pc, enable usb debugging and open adb. Type:
adb pull /system/framework/framework-res.apk framework-res.apk
That will pull your framework-res.apk to whatever folder is displaying in your command line.
Step 2:
Find the framework-res.apk on your hard drive, right click and open with 7zip.
Step 3:
Use png's here or create your own and dump into the appropriate folder within framework-res.apk.
Step 4:
When you are done editing the files open up adb and type the following command:
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
adb push framework-res.apk /sdcard/framework-res.apk
adb shell dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk
That will put the new framework-res.apk on your phone. It should automatically reboot (if not reboot it) and your changes should be applied!
When running the script above you can replace framework-res.apk with whatever you want. For example, Timescape.apk
Remember, it is CASE sensitive I made this problem many times)
If you would like to pull an entire folder put a slash at the end of the last word. For example, adb pull /system/etc /etc"/" (no " in actual script )
Courtesy of corruptfate is the steps to modify the startupshow (post #207)
step 1: open adb shell
step 2: type "adb shell"
step 3: type "su"
step 4: type "mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system"
step 5: type "mkdir system/etc/semc/startupshow"
step 6: exit and redo step 1 - 4
step 7: type "mkdir system/etc/semc/startupshow/default"
step 8: exit and open command prompt again, this time type "ddms"
step 9: look for the default folder in system > etc > semc > startupshow > default
step 10: push the images into that folder
Click to expand...
Click to collapse
Creating a theme
So, now that we’ve got the framework-res.apk onto our hard drive, we can take a look at creating a theme. The only skill that is really required to change the appearance of the framework (this is the system file that contains the notification bar, settings etc.) is being able to edit .png image files to suit your tastes. If you can do this then it is just a matter of knowing how to extract the images, and how to update the .apk with them after editing.
.9.png's
Before we start we need to take a look at a special kind of image in android apk’s: the .9.png’s. These are recognisable, as the name suggests, by the double extension *.9.png.
.9.png's are images with a bit of extra information embedded. They contain information on how they can be stretched, and where the content can go (e.g. for a button background, which area of the background can contain the text).
This information is contained in a single pixel border (the guides) around the image and can be added using draw9patch. The catch here is that the guides must be compiled into the image before it can be used.
The Border: For the most part, you will not have to edit the border of a .9.png because, as long as you follow the guide below, the guides will already be in the image and you will not need to change them. If you do need to create your own (I’d assume you know enough not to be reading this though ), you can find more information here.
Editing the Framework
In this example we will look at editing framework-res.apk. However, the process can be used on any apk.
The method described below may seem overly complicated for those who have experience in this area, but it is (in my opinion) the easiest ‘sure-fire’ way to make sure you don’t have any problems (especially with the .9.png’s).
In rare cases, when the .apk your modifying doesn’t have any .9.png’s (e.g. the Recent Calls widget) then you can skip straight to the ‘Updating images using Drag/Drop’ section below.
Requirements:
You will need the following:
7zip apktool - this is included in the attached file themes.zip
Some people use WinRAR instead of 7zip, but apktool uses some 7zip commands internally so make sure it is installed (I think, I know this is the case for APK Manager, I still need to test this for apktool, but hey, just use 7zip, it's free and works exceptionally well).
Setting up:
In the attached zip file (themes.zip) you will find a copy of my theme creation environment. It’s not too complicated, it only contains a couple of folders so I know where everything is, three key batch files (all one-liners) and apktool.
The first thing we need to look at is install_framework.bat. This contains the following line:
Code:
java -jar apktool.jar install-framework stock\framework-res.apk
All this does is tell apktool to install the framework on your system. The resources from stock\framework-res.apk will be extracted to a default location. If you don’t do this then you will not be able to recompile other apk’s that rely on the framework (you will get a ResourceNotFound error).
The other batch files decompile and build the framework, these are the ones that need to be modified if you start working on a different apk:
Code:
[B]decompile.bat[/B)
java -jar apktool.jar d stock\ framework-res.apk working\ framework-res
[B]build.bat[/B]
java -jar apktool.jar b working\framework-res out\framework-res.apk
I have included the stock X10 framework. If you use on of the other frameworks out there you may find that you get a lot of errors when trying to recompile. That’s because someone got lazy with the .9.png’s
As we are modifying the framework directly we do not need to run install_framework.bat, for a different apk (e.g. Phonebook.apk) you may need to run this first to avoid errors when decompiling.
Decompiling and Building:
1. Run decompile.bat. After this you will see that the working folder is filled with the contents of the apk. The images we need to modify are in the subfolders res/drawable-hdpi and res/drawable-land-hdpi. If you look at some of the .9.png’s in there you can see the guides (see the attached image). This makes it really easy to edit them, you can just edit them like any other image (as long as you do not touch/alter the guides).
2. Edit any images that you want. For the .9.pngs I usually make a copy without the 1 pixel border so that I can edit the entire image, then I paste the copy back into the middle of the original .9.png. You don’t have to worry about the guides, they are already set correctly.
I have created a tool that takes the stock x10 status bar icons, removes the background and sets them to a colour of your choice here. This was made to make my life easier by minimizing the time I spend in photoshop.
3. Run build.bat. This compiles the framework, embedding the guide information into the .9.png’s. The output framework is in the out folder. Do not push this to your phone as it is incomplete and the resources.arsc is stored incorrectly. If you do push it to your phone then you get to reflash
Now you can just drag the edited images out of the generated framework onto your hard drive and use steps 4. and 5. of the Drag/Drop method described below to update your framework.
Updating images using Drag/Drop:
1. Open the .apk in 7zip and browse to the appropriate image folder (almost always the res\drawable-hdpi folder)
2. Drag/Drop the images you want to edit to your hard drive. Leave the .apk open in 7zip
3. Edit the images in your favourite program (photoshop or similar)
4. Drag/Drop the images back into the .apk that is still open
5. Use the process described in the previous post to push the framework back to the phone
The reason that the .apk is left open in this process is that some (all?) of them are signed and updating them in this way doesn’t mess with the signature. I’ll admit to not being 100% sure about this, I’m sort of thinking now that people just had problems re-packing due to files being compressed that shouldn’t have been (see the section on editing XML files and adding resources to see what I mean). Please correct me on this one.
This also [almost] goes without saying, but: Make a backup before you start (you can look at the installer for Chewitts Dark10 theme to see how to do this).
OK, now you can start messing with the appearance of your phone, have fun
Credits
Thanks to Mr_Element for the help testing this process and making it easier to follow
Thanks to damnitpud for his post here, without which I would still have been a bit lost in draw9patch.
Modifying XML files and adding resources
First up, thanks to MrRusch for pointing out that the resources.arsc was being zipped differently. It would have taken a few more flashes to figure out how to pack it into the apk without that little nugget
Secondly, thanks again to MrRusch for this post. Using apktool 1.3.1 means the resources are not compressed, but you still can't just flash the resulting framework. So either use MrRusch's tool or follow the instructions below.
The XML files in the framework-res.apk (and the other apps) are stored in a compiled form, making them impossible to edit without decompiling them. The process of decompiling them and recompiling is reasonably simple but care is required if any images/resources are added to the apk.
Modifying the xml files opens up certain things that can’t be changed by just modifying some image files. The best example is changing the battery icon in the notification bar to show a different image for each percentage instead of just 10%, 20%, 40% etc.
When you modify xml files and add resources to your apk, make sure you copy ALL the modifications made to the stock apk each time after compiling. I have noticed strange effects if I don't do this such as the wrong images being used - I am assuming that in the newly compiled resources.arsc the image references/IDs change when compiled, but I'm not really sure yet. An example of this is when I tried to add the signal strength mod mentioned above to a framework that included the battery icon mod below. This only worked if I also copied the battery mod files to the framework (even though they were already in the apk) after recompiling the signal strength mod. If I just copied the files required for the signal strength mod then the battery indicator would start showing the wrong images (see here, specifically posts 52, 56 and 57).
Battery Icon:
Here is a step by step for modifying the battery icon in the framework. To do this you will need to download apktool and install 7zip (other compression programs may work, but I’ve only used 7zip).
Decompile the framework using the following command:
Code:
java -jar apktool.jar d framework-res.apk framework-res
This will decompile the framework-res.apk that’s in the current command window folder into a subfolder framework-res
Find the xml files you need to modify, e.g. the battery icon xml res\drawable\stat_sys_battery.xml and edit them. This is assuming, of course that you know what needs to go in the XML file . For the battery XML it is pretty obvious, just copy/paste the existing nodes and change them so you have the necessary percentage entries, see the attachment for an example with 100 steps.
Add any necessary resources to the appropriate folder. For the battery icon you need to create an image for each percentage (or download one of these) and add them to the res\drawable_hdpi folder. The name is the same as the name in the xml (stat_sys_battery_*.png)
Rebuild the apk using the following command:
Code:
java -jar apktool.jar b framework-res out\framework-res.apk
This will create a new framework-res.apk in a subfolder out.
IMPORTANT: Do not push this apk to your phone unless you want to reflash
Extract the xml files and images from the newly generated apk (you can use the original images, but the xml files must be the newly compiled ones from the new apk). Add these files to the original framework-res.apk that you want to push to your phone (see the previous post).
Extract the resources.arsc from the root of the apk
Rename the original framework-res.apk from your theme to framework-res.zip
Right-click the extracted resources.arsc and choose the 7zip menu item ‘Add to archive’
In the dialog that appears set the achive field at the top to the framework-res.zip from step 7. And set the archive format to zip. Now set the Compression level to store and click OK(if you do not do this your phone will not boot). The settings are in the attached screenshot.
Rename framework-res.zip to framework-res.apk and double check that the compressed size or resources.arsc is the same as the original size (see screenshot)
Done. Push the new framework to your phone.
Status Bar Text:
The style for most (all?) UI elements can be found in res/values/styles.xml. This xml file is only available in a decompiled framework. In the compiled version everything in res/values is compiled into resoureces.arsc.
The status bar text style is named TextAppearance.StatusBar. The file is pretty large so it's best just to do a search for the name. The definition looks like this:
Code:
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_primary</item>
</style>
You can easily adjust the size or make the text bold using the textSize and textStyle elements (see here for a description of these attributes and their values). The color uses the @color/... notation. This is a reference to a color resource, these can be found in colors.xml. We could just change this to a direct color entry (see here for an example), but then we wouldn't have a resource that can be reused for other parts of the UI.
If you open colors.xml you can find this:
Code:
<color name="semc_text_color_primary">#ffffffff</color>
This sets the primary text color to white (ARGB: FFFFFFFF = White). Changing the value of this will change the color of all primary text throughout the phone (settings menu etc.). If we just want to change the notification bar then it's best to add a new color. To do this just duplicate the above color definition and change the name and color:
Code:
<color name="semc_text_color_primary">#ffffffff</color>
<color name="semc_text_color_custom">#9900ff00</color>
And then adjust the style to use this new color resource:
Code:
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_custom</item>
</style>
Now recompile and copy resources.arsc to your framework as described above and push the framework to your phone for semi-transparent green text in your status bar
Modifying Services.jar
To modify services.jar we need to decompile the classes.dex file contained within. We can do this with baksmali:
1. Open services.jar (found in system/framework) with 7zip
2. Extract classes.dex from the archive
3. Open a command window and use the following to decompile:
Code:
java -jar baksmali-1.2.5.jar -o out\services classes.dex
4. You will now have a subfolder out\services with the decompiled .dex classes (smali files)
These sort of modifications will not be necessary very often. Two things that have been looked at so far are changing the text color on the status bar clock (just the clock, not the notification text) and changing the signal strength to show dBm instead of just the bars. The text color of the clock is relatively simple and is described below. The signal strength mod was done by MrRusch and requires a bit more code, he describes the process here.
I have attached a converter MrRusch has put together to convert java to smali. This is really helpful when trying to figure out how to modify the smali or event just trying to figure out what a piece of smali code does.
Since the 15th of december the sources for 2.1 are available here. Now we can see how the original java relates to the decompiled smali code.
You can find a reference for all the smali ops here. This one is more complete but I prefer the first purely because it's a bit more compact and it has most of what I need anyway. Thanks to untemensch and JesusFreke for the links.
Status Bar Clock Color:
I have since figured out how to do this without changing any code, just by changing some xml in res/layout, but I will keep this here as I think it is a nice, easy to follow example to start out with.
This section describes how to modify the color of the clock in the status bar without changing the color of the notification text (changing all of the status bar text is described in the xml section above).
First we need to have a look at the smali file com\android\server\status\StatusBarIcon.smali to see how the color of the clock text is set. I use Visual Studio to view/edit the smali files, but you can use any text editor - I have seen PSPad recommended a few times.
If we look at the init method we can see the following piece of smali code:
Code:
.line 44
.local v15, textColor:I
const/4 v13, -0x1
.line 50
.local v13, styleIndex:I
const v18, 0x1030079
:try_start_1f
sget-object v19, Lcom/android/internal/R$styleable;->TextAppearance:[I
move-object/from16 v0, p1
move/from16 v1, v18
move-object/from16 v2, v19
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
move-result-object v5
.line 53
.local v5, a:Landroid/content/res/TypedArray;
const/16 v18, 0x0
move-object v0, v5
move/from16 v1, v18
move/from16 v2, v16
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v16
.line 54
const/16 v18, 0x3
move-object v0, v5
move/from16 v1, v18
move v2, v15
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v15
Here's a run-down:
I'm pretty sure the lines that start with a '.' are comments from the decompiler.
The .line 4 entries are just a reference to the line number in java source-code. And I think the .local v15, textColor:I entry just notes the v15 variable name and type (I = integer).
The first bit of interest is the line invoke-virtual {v0, v1, v2}, Landroid/content/Context;->obtainStyledAttributes(I[I). The obtainStyledAttributes method definition can be found here. There are a few overloads, but the call is to the method that accepts an integer and an integer array as parameters - hence the (I[I), I and [I. The three variables in braces at the start denote the object that the method is being called on (the Context object) and the two parameters respectively. The first parameter (v1) is a resource ID and a few lines up the v18 variable is copied to this (move/from16 v1, v18 - this means move the value from v18 to the v1 variable). v18 was declared a few lines above again with the value 0x1030079. This ID can be found in the framework xml-file res/values/public.xml and the value is the name of a style (TextAppearance.StatusBar) that can be found in res/valus/styles.xml (see the xml section above).
The result of obtainStyledAttributes is copied to v5 (move-result-object v5) which (in .line 54) is copied to v0 which is then used to call Landroid/content/res/TypedArray;->getColor with the two integer parameters v18 (0x3) and v15 (0x100 - this is the color black). The first parameter is the index of the color in the style array (index 3 in v5) and the second is the default value (black).
The result of getColor() is then copied to v15 and reused later when setting up the text view for the clock:
Code:
.line 61
.local v14, t:Landroid/widget/TextView;
move-object v0, v14
move-object/from16 v1, p0
iput-object v0, v1, Lcom/android/server/status/StatusBarIcon;->mTextView:Landroid/widget/TextView;
.line 62
new-instance v11, Landroid/widget/LinearLayout$LayoutParams;
const/16 v18, -0x2
const/16 v19, -0x1
move-object v0, v11
move/from16 v1, v18
move/from16 v2, v19
invoke-direct {v0, v1, v2}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V
.line 65
.local v11, layoutParams:Landroid/widget/LinearLayout$LayoutParams;
const/16 v18, 0x0
move-object v0, v14
move/from16 v1, v18
move/from16 v2, v16
invoke-virtual {v0, v1, v2}, Landroid/widget/TextView;->setTextSize(IF)V
.line 66
invoke-virtual {v14, v15}, Landroid/widget/TextView;->setTextColor(I)V
All this means that to change the color of the clock text only, we need to declare a new style and use the ID of this style in the call to obtainStyledAttributes. When adding the style to styles.xml I keep it in the same place as the other status bar styles:
Code:
...
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_primary</item>
</style>
<style name="TextAppearance.StatusBar.Clock" parent="@style/TextAppearance">
<item name="textSize">16.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">@color/semc_text_color_clock</item>
</style>
...
The name of the style can be anything, what is important is the ID reference in public.xml, and that a color semc_text_color_clock is declared in colors.xml (see the xml section above).
The style reference in public.xml must have an ID that starts with 0x0103****. This is the ID range for styles, strings and other resources have a different ID range. I always add the new style at the bottom of the style group so that I can easily see which is the next free ID:
Code:
....
<public type="style" name="SEMCTheme.Dialog.Alert.Vanilla" id="0x01030139" />
<public type="style" name="TextAppearance.StatusBar.Clock" id="0x0103013a" />
....
Now that we have added a new style we just need to adjust the smali code to use it. Change the code above from:
Code:
.line 50
.local v13, styleIndex:I
const v18, 0x1030079
to:
Code:
.line 50
.local v13, styleIndex:I
const v18, [B]0x103013a[/B]
Now our new style is used for the call to obtainStyledAttributes. We then need to recompile the smali to a classes.dex file and update the services.jar:
Run the following command to recompile the smali:
Code:
java -jar smali-1.2.5.jar -o out\classes.dex out\services
The output file may be a slightly different size than the original classes.dex but as long as you don't get any errors it will be OK.
Now open services.jar with 7zip and update it with the new classes.dex (drag/drop).
Done Push the services.jar to your phone with adb and reboot (make sure you have updated framework-res.apk with the new xml resources first, otherwise our new ID will point to a non-existant resource)
Timescape/Mediascape
Timescape and Mediascape use a different format for some of the images (for mediascape it's just the background on the first page). Timescape also has some animation files to control the wave in the background and the color of the paginator. In 1.6 we can modify all of these, for 2.1 I still haven't got the animations sussed.
All of the information I have collected, including tools for converting the images, can be found here (the 2.1 converter tools are linked at the top of the first post).
If you're just looking to modify the first page of mediascape then it is here: /system/usr/semc/seee/files/ms_bg_background_home_icn.acet
Here are the two dark themes that I have done for Timescape:
1.6
2.1 (without animations)
and the following themes also include Timescape mods:
Dark10 by Chewitt
Enigma by Mobzter
Resource locations
Images:
gavriel18 has posted some of the standard mods here.
XML:
I have attached some images where you can see the effects of changing the most common colours in res/values/colors.xml. It looks pretty horrible, but you can see what you need to change
I still haven't figured out how to change some of the colours (e.g. the network provider text in the status bar) but I will update this when I find out more...
Please PM me or post any other mods that you've made that were well hidden. We can add them here to avoid searching for them again later.
This especially applies to all the OPs from the next post
Theme collection
Update (24.03.2011): There is a much more up-to-date list here with all the new themes.
Here's a list of some of the existing themes around:
2.1:
Dark10 by Chewitt
X10 Res Mods by XperiaX10iUser
ElementaL by Mr_Element
Pitch Black by Shukla
Xdre4m by PoTi_96
PGFX™ Eternity by SEMPITERNAL
Transparent Status Bar Theme by thefunkaygibbon
HTC Sense and Stock Android Status Bar by dk2000zx
Enigma by Mobzter
1.6:
Dark10 by Chewitt
Frankendroid by Bazza1976
Enigma by Mobzter
Red Theme by djsystem
There's also a lot more here thanks to gavriel18
If I have missed any please PM me or post here and I'll update the list. I just scanned the first 3 pages in the forum.
Recovery tips
This post will be used for tips etc. on recovering your phone if it won't boot (if this never happens to you then you're not trying hard enough )
From here:
MarylandCookie said:
Future tip: For anyone who needs to reflash due to a bad upload of an app i would recommend just flashing the system.sin file (ive done this on a number of occasions!!)...
Your phone will boot up (will take a little longer than usual) and the only difference will be is that you will have all your system apps back but you will need to re-root. Everything else will be the same
Even better if you have the One Click Root app found here:
http://forum.xda-developers.com/showthread.php?t=834428
Click to expand...
Click to collapse
From here:
gavriel18 said:
Possible reasons your phone won't boot after modifications:
images anren't stored properly, right format, right size etc.
unpacked apk improperly, use 7zip, it doesn't mess anything up
you signed the package before pushing it- unless you know what you're doing follow the directions to a tee and you should be fine
pushed the package to the wrong directory, /system/framework-res.apk XX, /system/framework/framework-res.apk
I'm sure many other reasons, these were the only ones I encountered
How to get past boot screen:
Use backup framework-res.apk and push that one to your phone. Remember to place that one where the modified one is.
To see if adb sees your phone type adb devices, if a serial number pops up try pushing your original, if not...
Flash your phone again from scratch . Sorry, I don't know any better way yet.
Click to expand...
Click to collapse
from bitter personal experience :
If anyone does mess their phone up so much that not even the SE logo shows up (just a black, maybe flickering, screen) and a reflash/seus repair doesn't help. Then what sorted me out was a reflash to Generic Nordic 1.6 using jerpelea's flash tool - the same one I used to get the 2.1 update early - then boot the phone, shut down again and run seus for the 2.1 update.
Click to expand...
Click to collapse
Not directly related, but here's a tip from XperiaX10iUser:
To reverse chmod use 0755 instead of 4755.
This would indeed be helpful. Thanks.
This definitely needs to be sticky'd! It beats looking over pages and pages worth of threads to find the correct ones. It's a lot harder to search through threads without getting completely creative with your search strings so as to cull out all of the useless threads.
Thanks for this! I just posted about a theme I'd like to work on and requested this information!
Wow, great tutorial Calum. Thank you once again for all your hard work!
Thanks for the feedback guys
Great thread! Why on earth the mods haven't thought to sticky this is beyond me.
great thread Callum!
i vote yes for sticky also!
Thanks for all the hard work _calum_ and all the other themers too!
Thank you for this Ultimate theme reference thread... It definitely should be sticky....
XperiaX10iUser said:
Great thread! Why on earth the mods haven't thought to sticky this is beyond me.
Click to expand...
Click to collapse
As I told you the other day... because we cannot be monitoring every single thread in this site...
Also, we only do stickies upon request...
In either case, great guide.
Thread stuck.
egzthunder1 said:
Thread stuck.
Click to expand...
Click to collapse
Thanks
And thanks for all the other posts as well. Now you guys just need to tell me what's missing

[MULTI-MOD] Reboot Option, Percentage Battery, Percentage WiFi, & ASU Signal Strength

[MULTI-MOD] Reboot Option, Percentage Battery, Percentage WiFi, & ASU Signal Strength
I managed to port untermensch's modification to add reboot option(s) to our power menu. See original thread for more information on the process.
Alternative versions also include the Super Circle Battery modification, my own WiFi percentage indicator and ASU network signal strength mods.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Requirements:
1. Root privileges
2. Choose appropriate firmware version below.
2.3_3.0.1.G.0.75_GENERIC
See this post for Reboot Option only.
See this post for Reboot Option & Percentage Battery.
See this post for Reboot Option & Percentage Battery & WiFi Percentage & ASU Signal Strength.
See this post for Reboot Option & Percentage Battery & WiFi Percentage & ASU Signal Strength + Roaming.
2.1.A.0.435_GLOBAL See this post.
2.0.2.A.0.24_GLOBAL See this post.
2.0.A.0.504_GLOBAL See this post's attachments.
Note: This replaces core system files, i.e. will remove previously installed themes and modifications. If you have problems, push back the original files.
Automatic (xRecovery) Installation:
Reboot into xRecovery and flash update.zip if supplied.
Automatic (ADB GUI) Installation:
Use the X10 Mod Tool, to push the files to the device.
SystemUI.apk goes in system/app if present, and rest in system/framework.
Manual (Terminal Emulator) Installation:
1. Unrar archive.
2. Copy extracted files to /sdcard, and
3. In Terminal Emulator:
a) make sure you have super user permissions (su),
b) remount /system partition as read-write (mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system),
c) replace framework.jar (dd if=/sdcard/framework.jar of=/system/framework/framework.jar),
d) replace android.policy.jar (dd if=/sdcard/android.policy.jar of=/system/framework/android.policy.jar),
e) replace SystemUI.apk (dd if=/sdcard/SystemUI.apk of=/system/app/SystemUI.apk) if present,
f) replace framework-res.apk (dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk) if present, and
g) reboot device (reboot) if not automatic.
Thanks Mr. Rusch glad your also modding the x10
Tested on my Singapore X10i but it cannot boot up, I am repairing my X10 via the PC Companion now.
Under contruction
Percentage Battery
A. The 101 stat_sys_battery_X.png and 21 stat_sys_battery_charge_X.png images of which the modification is based, need to be inserted into framework-res.apk.
1. Decompile framework-res.apk with APK Tool or X10 Mod Tool.
2. Add images to res/drawable-hdpi/.
B. These images then need to be referenced in public.xml as drawables.
1. Open res/values/public.xml in e.g. Notepad.
2. Find last drawable-id and increment by one hexadecimal value (XxXXXXXXXX).
3. Create and add all of your drawables as below, incrementing by one hexadeimal value per item.
Code:
<public type="drawable" name="stat_sys_battery_X" id="XxXXXXXXXX" />
4. Save and Close.
C. The XMLs controlling the battery stats (stat_sys_battery.xml and stat_sys_battery_charge.xml) need to be adjusted to percentage levels (100 on battery, and 20 at charging).
1. Replace stat_sys_battery.xml with the one attached to this post.
2. Replace stat_sys_battery_charge.xml with the one attached to this post.
3. Recompile framework-res.apk with APK Tools or X10 Mod Tool.
Replace framework-res.apk on your device.
Reboot Option
A. The reboot.png needs to be inserted into the framework-res.apk.
1. Decompile framework-res.apk with APK Tool or X10 Mod Tool.
2. Add reboot.png to res/drawable-hdpi/.
B. This image is then to be referenced in public.xml as a drawable.
1. Open res/values/public.xml in e.g. Notepad.
2. Find last drawable-id and increment by one hexadecimal value (XxXXXXXXXX).
3. Create and add your drawable as below,
Code:
<public type="drawable" name="reboot" id="XxXXXXXXXX" />
C. The string "Reboot" needs to be added as well, in public.xml and strings.xml.
1. Find last string-id and increment by one hexadecimal value (XxXXXXXXXX).
2. Create and add your string as below,
Code:
<public type="string" name="reboot" id="XxXXXXXXXX" />
3. Save and Close public.xml.
5. Open res/values/strings.xml in e.g. Notepad.
6. Create and add your string as below,
Code:
<string name="reboot">Reboot</string>
7. Save and Close.
8. Recompile framework-res.apk with APK Tool or X10 Mod Tool.
D. ShutdownThread.java needs to be modified to handle the reboot-command from the power menu.
1. Decompile framework.jar with X10 Mod Tool or baksmali.jar.
2. Open com\android\internal\app\ShutdownThread.smali in e.g Notepad.
3. After the last entry in the "# static fields" section, add
Code:
.field public static mReboot:I
4. Search for "invoke-static {}, Landroid/os/Power;->shutdown()V", and add the following code before this line.
Code:
sget v1, Lcom/android/internal/app/ShutdownThread;->mReboot:I
const/4 v2, 0x1
if-eq v1, v2, :reboot
5. After the next return-void statement, add this code
Code:
:reboot
const-string v4, "now"
invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V
return-void
This will send the "now" command to the kernels shutdown process. When we get our kernels sorted, we can add other commands such as "recovery" or "download" here.
6. Save and Close.
7. Recompile framework.jar with X10 Mod Tool or smali.jar.
E. GlobalActions.java needs to be modified to present the reboot-
drawble/string in the power menu.
1. Decompile android.policy.jar with X10 Mod Tool or baksmali.jar.
2. Open com\android\internal\policy\impl\GlobalActions.smali in e.g Notepad.
3. In the "createDialog" method, extend the array by changing this
Code:
const/4 v0, 0x3
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
to this
Code:
const/4 v0, 0x[B]4[/B]
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
Note here that depending on how many options that already exist in your power menu, this constant's value may differ. The point is - increment it by 1.
4. Add the reboot menu item by adding the following code after last instance of "aput-object v2, v0, v1"
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$7;
const v3, XxXXXXXXX # reboot icon resource id
const v4, YxYYYYYYY # reboot string resource id
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$7;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
Note: Swap XxXXXXXXX for the drawable-ID and YxYYYYYYY for the string-ID. The constant v1 decides the placement in the array we extended above. So you can adjust this if you want to place the entry somewhere other than at the end. But remember to adjust the other entries as well then.
5. Save and Close.
6. Now make a copy of GlobalActions$3.smali and rename it to GlobalActions$7.smali.
7. Open GlobalActions$7.smali in e.g Notepad.
8. Replace all instances of "GlobalActions$3" inside it, with "GlobalActions$7".
9. Search for "invoke-static {v0, v1}, Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V", and add the following code in the line before
Code:
const/4 v2, 0x1
sput v2, Lcom/android/internal/app/ShutdownThread;->mReboot:I
10. Save and Close.
11. Recompile android.policy.jar with X10 Mod Tool or smali.jar.
Replace framework.jar, android.policy.jar and framework-res.apk on your device.
Percentage WiFi
A. The 21 stat_sys_wifi_signal_X.png images need to be inserted into framework-res.apk (<2.3.3) or SystemUI.apk (>2.3.3).
1. Decompile framework-res.apk with APK Tool or X10 Mod Tool.
2. Add images to res/drawable-hdpi/.
B. These images then need to be registered as drawables in public.xml.
1. Open res/values/public.xml in e.g. Notepad.
2. Find last drawable-id and increment by one hexadecimal value (XxXXXXXXXX).
3. Create and add all of your drawables as below, incrementing by one hexadeimal value per item.
Code:
<public type="drawable" name="stat_sys_wifi_signal_X" id="XxXXXXXXXX" />
4. Recompile framework-res.apk (<2.3.3) or SystemUI.apk (>2.3.3) with APKTool or X10 Mod Tool.
C. StatusBarPolicy.java needs to load the new WiFi-drawables into status bar.
1. Decompile services.jar with X10 Mod Tool.
2. Open StatusBarPolicy.smali in e.g. Notepad.
3. Go the start of the constructor at ".method static constructor <clinit>()V".
4. Increment " .locals X" by one decimal value.
5. Under " .prologue", add another registry to extend the array with,
Code:
const/16 vX, 0x21
Note: vX is also incremented by one decimal value.
6. Now search for "sput-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sWifiSignalImages:[[I"
The three rows above this, will look like this
Code:
new-array vX, vY, [I
fill-array-data vX, :array_Q
aput-object vX, vZ, v4
6. In the first row, swap vY to the constant we created to initiate the array with.
7. From the second row, copy the ":array_Q" value and go to this marker.
8. Extend this array at the end with references to the drawables-IDs we registered in public.xml earlier.
Note: The ID-format is backwards, i.e.
0xXXt 0xYYt 0xZZt 0xQQt = 0xQQZZYYXX
9. Save and Close.
10. Recompile services.jar with X10 Mod Tool.
D. WifiManager's calculateSignalLevel() functions decision-logic needs to be modified for the 20 levels of WiFi (5% increments).
Note: This function should according to the APIs work as is, as it recieves the array-length as maximum value. For some reason though, I constantly face OutOfBoundsExceptions when using this. Instead, I have created my own logic in java, converted it into smali-code, and replaced the original function with it.
1. Decompile framework.jar with X10 Mod Tool or baksmali.jar.
2. Open WifiManager.smali in e.g. Notepad.
3. Replace the "calculateSignalLevel" function with the one attached to this post.
4. Save and Close.
5. Recompile framework.jar with X10Mod Tool or smali.jar.
Replace framework.jar, services.jar and framework-res.apk on your device.
ASU/dBm Signal Strength
A. The 33 stat_sys_signal_X.png images need to be inserted into framework-res.apk.
B. These images then need to be registered as drawables in public.xml.
C. StatusBarPolicy.java needs to be modified to choose drawable by ASU-value.
D. StatusBarPolicy.java needs to load the new ASU-drawables into status bar.
E. For roaming to work, same process (1-4) needs to be repeated for stat_sys_r_signal_X.png images.
Thank you very much for your mod, tested on my X10 with 2.1 Global Generic and work very well.
To serve options:
Recovery and Download?
Great Work
PD: It would be possible to modify the text of the options?:
Reboot----- for Reiniciar
Recovery----for Recuperar
Download--- for Descargar
It's because I have the X10 in Spanish
tiggerbcn said:
PD: It would be possible to modify the text of the options?:
Reboot----- for Reiniciar
Recovery----for Recuperar
Download--- for Descargar
It's because I have the X10 in Spanish
Click to expand...
Click to collapse
You'd have to mod the APK. So depends how comfortable you are with this.
Edit: Decompile the APK, modify strings.xml, and recompile.
Sent from my X10i using XDA App
Buffff, that will not do, be so kind to modify that file and put it here to download it?, I've put a link to this post in a forum Spanish and there are some who call me, but I have the tools to edit these files
Thanks
PD:and these options are used?
Recovery and Download
Hi, MrRusch. How can I install ONLY that grey battery icon with the percentage within it? Is it possible?
Thanks in advance
PS: I'm the one who asked tiggerbcn for the spanish translation btw
is it possible to modify it to have the reboot option only?
as I dont think I would be using the other options...and would rather not press them by mistake....he he
MrRusch said:
You'd have to mod the APK. So depends how comfortable you are with this.
Edit: Decompile the APK, modify strings.xml, and recompile.
Sent from my X10i using XDA App
Click to expand...
Click to collapse
where i can find that "stings.xml" ?
thks
rendeiro2005 said:
where i can find that "stings.xml" ?
thks
Click to expand...
Click to collapse
It's in res\values in the APK.
Zenghelis said:
Hi, MrRusch. How can I install ONLY that grey battery icon with the percentage within it? Is it possible?
Thanks in advance
PS: I'm the one who asked tiggerbcn for the spanish translation btw
Click to expand...
Click to collapse
You will find the battery mod itself in this thread.
tiggerbcn said:
Buffff, that will not do, be so kind to modify that file and put it here to download it?, I've put a link to this post in a forum Spanish and there are some who call me, but I have the tools to edit these files
Thanks
PD:and these options are used?
Recovery and Download
Click to expand...
Click to collapse
Sorry all, but I will not be making language-specific mods, as this would lead to requests for lots of different languages. If you want to modify it to your language, follow the instructions I have given here (or consult your national chef for help).
As for the latter part of your question - perhaps someone else here can answer this, as this is my first Android device.
mith500 said:
is it possible to modify it to have the reboot option only?
as I dont think I would be using the other options...and would rather not press them by mistake....he he
Click to expand...
Click to collapse
Yes, this version is coming.
MrRusch said:
It's in res\values in the APK.
Click to expand...
Click to collapse
thks a lot.
i`m trying to create a new theme with animations, battery info, etc and i don`t want just install.
thks
rendeiro2005 said:
thks a lot.
i`m trying to create a new theme with animations, battery info, etc and i don`t want just install.
thks
Click to expand...
Click to collapse
Now you got me
how the hell i`m suppoused to mess if i don`t have that folder???
yours don`t have it as mine
rendeiro2005 said:
Now you got me
how the hell i`m suppoused to mess if i don`t have that folder???
yours don`t have it as mine
Click to expand...
Click to collapse
You need to decompile it, not just extract it as an archive. Use apktool or client such as APK Manager to access meta-data from resources.arsc.
MrRusch said:
You need to decompile it, not just extract it as an archive. Use apktool or client such as APK Manager to access meta-data from resources.arsc.
Click to expand...
Click to collapse
forget it
i`m working with that now
thks
i`m sorry but i need your hel with one more thing
were i can find "com\android\internal\app\ShutdownThread.smali "?
it`s suppoused to be on framework but we only have framework-res andi can`t find that
thks
rendeiro2005 said:
i`m sorry but i need your hel with one more thing
were i can find "com\android\internal\app\ShutdownThread.smali "?
it`s suppoused to be on framework but we only have framework-res andi can`t find that
thks
Click to expand...
Click to collapse
No, sorry this is embedded in framework.jar, not framework-res.apk. You will need to deodex this file with baksmali to decompile, edit, and then recompile with smali. But FYI you don't need to touch anything but the APK if you only want to change the language. For this editing strings.xml is enough.
MrRusch said:
No, sorry this is embedded in framework.jar, not framework-res.apk. You will need to deodex this file with baksmali to decompile, edit, and then recompile with smali.
Click to expand...
Click to collapse
ooops
ok
thks
I have now added the single option version, only displaying the Reboot (normal) alternative. This one also comes in two versions, with the default battery indicator, or the percentage one. See screenshots in first post.
MrRusch said:
I have now added the single option version, only displaying the Reboot (normal) alternative. This one also comes in two versions, with the default battery indicator, or the percentage one. See screenshots in first post.
Click to expand...
Click to collapse
sorry again
what`s the command to compile android.policy.jar?
thks

[GUIDE] WiFi Country Problem Solving for AOSP, MIUI & others

WiFi COUNRTY PROBLEM solving
Hello!
We, who did buy phones from other countries using internet shopping,
instead of joy face the problem of WiFi-service functioning.
WiFi scan not works or shows network; but there is written NOT IN RANGE..
Problem resides in new WifiCountryCode, which phone recieves from our SIM-card.
But this new WifiCountryCode is not known for internal WiFi-program,
so it does not know which WiFi rules use.
During 2 mounth of tries I found following 3 ways to solve:
1. ARHD7.3 ROM has not THIS WiFi problem! Bravo!
(sorry, didn't check previous versions).
2. program WiFi Fix by Fardjad.
This program updates WiFi Country Code on boot and afterwards.
For most ICS roms it works good, for AOSP roms less good.
Requires: before SHUTDOWN or REBOOT WiFi should be turned off.
Slightly annoying.
On AOSP roms first WiFi TURN ON stucks;
needs 1-2 minutes to TURN OFF stucked WiFi and then second TURN ON works.
Greatly annoying!
Current version is WiFix Manager V1.32;
Author promised to solve this problem.
3. in AOSP CM10.1, before starting WiFi, goto
System settings > WiFi > Advanced > WiFi region code >>
and if here is nothing selected (your country not in list), press United States (or Europe?),
then get back from this Advanced menu and only now TURN ON WiFi.
Wifi scan now should work.
...Until next restart....
also before SHUTDOWN or REBOOT you should turn off WiFi to prevent stuck on start..
(this setting is not available in SuperXE 4.2.2 build_6)
********************************************
Buttt.. seems I found solve before WiFix author, YESS!
How this happened:
greatly annoyed, I learned about USB-debugging and Logcats and ApkTool.
here is lines from Logcat (XX replaces new country code):
Code:
D/MccTable( 636): updateMccMncConfiguration: mcc=..., mnc=..
D/MccTable( 636): locale set to null_XX
D/MccTable( 636): WIFI_COUNTRY_CODE set to XX
I/WifiService( 445): WifiService trying to set country code to XX with persist set to true
Where is this MccTable? not found such file..
Web search gives me this:
https://android.googlesource.com/pl.../com/android/internal/telephony/MccTable.java
this IS source, where is written updateMccMncConfiguration code from line 169 to 208.
and actually we need to disable these lines:
Code:
189 if (mcc != 0) {
190 setTimezoneFromMccIfNeeded(context, mcc);
191 setLocaleFromMccIfNeeded(context, mcc);
192 setWifiCountryCodeFromMcc(context, mcc);
193 }
Because Timezone you can setup in settings > Date& Time
and LOCAL parameters are set in most roms in file "/system/build.prop":
Code:
ro.product.locale.language=en
ro.product.locale.region=US
(if not, make it..)
Alternate "mild" edition:
you can disable only line setWifiCountryCodeFromMcc(context, mcc);
and live rest 2 updater lines.
now let me guess, this program code should be inside of some JAR file..
exactly in "/system/framework/telephony-common.jar"
I did decompile this file with ApkTool:
Code:
apktool d telephony-common.jar
it made output as folder "telephony-common.jar.out" and there is file:
"telephony-common.jar.out/smali/com/android/internal/telephony/MccTable.smali"
and inside are above mentioned lines:
Code:
.line 189
if-eqz v2, :cond_0
.line 190
invoke-static {p0, v2}, Lcom/android/internal/telephony/MccTable;->setTimezoneFromMccIfNeeded(Landroid/content/Context;I)V
.line 191
invoke-static {p0, v2}, Lcom/android/internal/telephony/MccTable;->setLocaleFromMccIfNeeded(Landroid/content/Context;I)V
.line 192
invoke-static {p0, v2}, Lcom/android/internal/telephony/MccTable;->setWifiCountryCodeFromMcc(Landroid/content/Context;I)V
.line 195
:cond_0
lets gently change line 189:
Code:
.line 189
goto :cond_0
in newer android, there is also second call to setWifiCountryCodeFromMcc, so comment out it also.
so program will jump over unwanted updates!
now recompile back "telephony-common.jar" with command:
Code:
apktool b -f -d telephony-common.jar.out
and in folder "telephony-common.jar.out/dist" you will find it out.
from original file do copy of directory "META-INF" in new file with any archive manager.
now we should put "telephony-common.jar" in phone.
for this we need:
ROOT access,
with ES_file_manager >Tools >Root Explorer >Mount R/W > mount /system RW,
replace telephony-common.jar and set proper file attributes (-rw-r--r-),
mount /system R
and afterwards do REBOOT.
on new BOOT there will be "Android updates" files ...
AND WiFi problems HAVE GONE!!
Now you even can do SHUTDOWN or REBOOT with TURNED ON WiFi
AND WiFi will connect before SIM card joins GSM network!!!
Tools used:
ADB
JDK
ApkTool
ES file manager
Notepad+ or Edit+
Credits to:
[TOOL/GUIDE GB/ICS/JB] Decompile/Recompile apk | jar | sign + Basic editing xml/smali
in attachments I put:
google_src_code,
patched_MccTable.smali
*************
For SuperXE 4.2.2 build_6 (MD5=2DBDDB534A7CA6DE627EF75FCE3E7CF0)
more steps reqiured.
SuperXE has other "telephony-common.jar" MD5=C8917C386BA7FD24A0203058BFDC17F5,
so we again perform above steps for patch;
See attached file "SUXE_patched_telephony-common.jar"
now we should replace "telephony-common.jar" in phone.
with ES_file_manager >Tools >Root Explorer >Mount R/W > mount /system RW,
replace telephony-common.jar and set proper file attributes (-rw-r--r-),
Extra step 1
click on "/system/build.prop" and open in ES Note Editor;
seek line
ro.product.locale.region=GB
and change GB to US; confirm OK for save file.
mount /system R
Extra step 2
because of first boots, in Settings database is written our country code,
which should be US.
for this: install "Sqlite Editor", run, grant ROOT access. after program finds
& lists databases, look for & open "Settings Storage" > settings.db > global:
find "wifi_country_code", select it and press menu button > Edit Record;
change value to US and press "save"
if this step is too hard for you, from "wipe data, cache, dalvik"... but many
other stuff will be erased..
Now do REBOOT.
on new BOOT there will be "Android updates" files ...
*************
for VIPERS roms you should patch framework2.jar
then
Extra step 1
click on "/system/build.prop" and open in ES Note Editor;
add line
ro.product.locale.region=US
confirm OK for save file.
Extra step 2
because of first boots, in Settings database is written our country code,
which should be US.
for this: install "Sqlite Editor", run, grant ROOT access. after program finds
& lists databases, look for & open "Settings Storage" > settings.db > global:
find "wifi_country_code", select it and press menu button > Edit Record;
change value to US and press "save"
if this step is too hard for you, from "wipe data, cache, dalvik"... but many
other stuff will be erased..
Now do REBOOT.
*************
attached file CM1012_20130806_telephony-common.jar for AOSP CM10.1.2 albinoman887,
which has original telephony-common.jar file with MD5=90521F154A0E37302496D88DA879EA75
*************
attached file CM102_20131028_telephony-common.jar for AOSP CM10.2 albinoman887
*************
attached file CM11_20131119_Albinoman887_telephony-common.jar for AOSP CM11 albinoman887
"mild" patch!
*************
in MIUIandroid framework.jar should be patched; code line is 188;
also copy from old to new archive file preloaded-classes
attached file for MIUIandroid 3.10.25
attached file for MIUIandroid 3.11.15, use this also up to MIUIandroid 3.12.27
*************
attached file Inspiration_v1.0.1_framework2.jar for Inspiration v1.0.1
which has original framework2.jar file with MD5=8f67ad19fe72513489972cbfd76f244c
*************
attached file Elegancia_Sense_4.1_v7.5.0_framework2.jar for Elegancia Sense 4.1 v7.5.0
which has original framework2.jar file with MD5=a9b34b25201d592f41677c94039b520d
*************
attached file CM10_bruce_20130914_framework.jar for CM10 bruce 20130914,
*************
attached file VIPERS1.6.3_framework2.jar for VIPERS 1.6.3,
which has original framework2.jar file with MD5=3d16f3818e0ce6b7fe201f9188408491
*************
attached file ViperS2-0-0_framework2.jar for ViperS 2.0.0,
which has original framework2.jar file with MD5=c7bd6fa8a2f0fd210f21fd223089d094
*************
attached file ViperS5-0-0_framework2.jar for ViperS 5.0.0
*************
attached pack ViperS5-1-0
*************
attached pack ViperS5-2-0
*************
android1234567 accepts this patch already
http://forum.xda-developers.com/showthread.php?t=2320657
*************
CyanogenMod12 by ivanich 20150118
attached pack CyanogenMod12_by_ivanich_20150118_telephony-common.jar
after replacement go to settings > Backup & reset > Factory data reset and RESET PHONE
*************
seems, many people done patch in their sources:
https://github.com/search?utf8=✓&q=setWifiCountryCodeFromMcc&type=Code&ref=searchresults
HTCZ715E!
some tips:
yep, good tip:
on first installation of ROM, start it without SIM-card.
in attachments some patched files per users requests.
added for [ROM][N1] Evervolv Kitkat 4.4
added for [ROM]Cyanogenmod 11 | kernel 3.4 | dominos_liberty
added for [ROM] [4.4.2] [8.Feb 2014] CyanogenMod 11.0 | KitKANG | PRE-ALPHA | v0.5 for HTC Desire
thanks for share working for me !
Sent from my HTC Sensation using xda premium
question
The explained steps are too much; so as I realized we just need to replace the attached files with the original ones; right?
mohammad0089 said:
The explained steps are too much; so as I realized we just need to replace the attached files with the original ones; right?
Click to expand...
Click to collapse
So you want replace MY ATTACHMENTS with original ones??? : : : ) ) )
HTCZ715E said:
So you want replace MY ATTACHMENTS with original ones??? : : : ) ) )
Click to expand...
Click to collapse
yes if i can; i have the same problem which you mentioned; so can i replace them in all cyanogen mod roms?:
mohammad0089 said:
so can i replace them in all cyanogen mod roms?:
Click to expand...
Click to collapse
patched_AOSP_telephony-common.jar file is for AOSP CM10.1
original file MD5=30BBC2690C8A08A4C5D977BC27D42885
SUXE_patched_telephony-common.jar file is for SuperXE 4.2.2 build 6
original file MD5=C8917C386BA7FD24A0203058BFDC17F5,
CM10-1-20130720_telephony-common.jar for AOSP CM10.1.2, which has original
telephony-common.jar file with MD5=00c7d16ae721ef64dfc1bbf2aee4bf92
one of this file you should copy on sdcard, rename as telephony-common.jar,
then with RootExplorer, replace original file in /system/framework
if original file is same, you can replace.
if not, upload it here.
patch for CM10.1.2 update
patch for CM10.1.2 update.
look in first post
what about sense 4 ROMs? I have same issues on all Sense 4 roms
Fix works perfectly for albinoman887's CM10.1 ROM ! Thanks a ton!
I'm sorry sir but i didn't understand... I've just to replace attached files or i edit first them?
Wifi solve is a flashable file for any rom?
Inviato dal mio HTC Sensation
Please forgive the noob question, but there is a lot of information in the OP, which of the attachments did you run on Albinoman's ROM?
you two,
read post 1 & 7
http://forum.xda-developers.com/showpost.php?p=43773366&postcount=7
HTCZ715E said:
you two,
read post 1 & 7
http://forum.xda-developers.com/showpost.php?p=43773366&postcount=7
Click to expand...
Click to collapse
Thanks
works great on miui 3.7.19
shayan538 said:
Thanks
works great on miui 3.7.19
Click to expand...
Click to collapse
wait, at least in MIUI 3.7.12 I did not sow telephony-common.jar.
instead, did you modified bouncycastle.jar?
mamarda said:
what about sense 4 ROMs? I have same issues on all Sense 4 roms
Click to expand...
Click to collapse
write here ROMs and I will look.
ok, for MIUI MccTable is in framework.jar, thus I creates patch for it. see 1 post
Hi. Where is MccTable for Sense 4 ROMs? I didn't find this strings in framework.jar.
P.S. Found it in framework2.jar. Fixed by the same code. Thnks. It works like a charm.
Mikhei777 said:
Hi. Where is MccTable for Sense 4 ROMs?
Click to expand...
Click to collapse
yeo, search for string updateMccMncConfiguration
HTCZ715E said:
yeo, search for string updateMccMncConfiguration
Click to expand...
Click to collapse
I've patched it already. Thanks again.

[GUIDE] How to add support for all third party apps to multiwindow

I've been looking for a guide to make multiwindow support all apps, but I couldn't find any simple guides with the way I wanted. So, just decided to write my own one.
This guide should be compatible with samsung lollipop (5.0+) only, though I've tested it only on my G906K (5.0.1).
What you need :
Deodexed framework.jar
Apktool or baksmali.jar to decompile framework.jar
Minimum knowledge for de/recompiling framework.jar
At least two hands to grab your mouse and keyboard
Now let's get started.
STEP 1)
Decompile your framework.jar and open smali/android/content/Intent.smali
Look for the following line :
Code:
.field public static final CATEGORY_MULTIWINDOW_LAUNCHER:Ljava/lang/String; = "android.intent.category.MULTIWINDOW_LAUNCHER"
and replace it with
Code:
.field public static final CATEGORY_MULTIWINDOW_LAUNCHER:Ljava/lang/String; = "android.intent.category.[B]LAUNCHER[/B]"
STEP 2)
I'm not sure if this modification is necessary, but it won't do any harm to us anyways.
Open smali/com/samsung/android/multiwindow/MultiWindowApplicationInfos.smali
(If you can't find it, look into smali_classes2 folder. It might vary depending on operator even on the same model.)
Look for the following method :
Code:
.method public isSupportApp(Ljava/lang/String;)Z
and replace the whole method with this :
Code:
.method public isSupportApp(Ljava/lang/String;)Z
.locals 1
.prologue
const/4 v0, 0x1
return v0
.end method
Now recompile your framework.jar, and voila! It's all done!
Please note that I'm a super noob and not familiar with those smali stuffs, so there could be errors. In fact, I'm quite sure, but it works well as of know
Please let me know if there's something I missed, or any simpler ways to do this. Thanks.

How to Port Samsung Rom to other Samsung devices (Small Update as of 10/13/2018)

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(Success Stories)
jonathanmohamed said:
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
Click to expand...
Click to collapse
corsicanu said:
@malbert16442 this is pure GOLD. Gave you all my thanks for today. I'll try it myself today. Also waiting patiently for updates [emoji28] . Cheers!
Click to expand...
Click to collapse
armaowl said:
is the reason i was allowed me to port my own Rom!
Click to expand...
Click to collapse
1. Kernel is second most important because it determines if rom boots or whether
we could access a log.
2. Since we are trying to boot a rom not meant to be on our device, it could be alittle hard getting this thing to run.
3 Contact a kernel dev and ask them for adb insecure kernel or a kernel with usb debugging enabled at boot. This will help us obtain those logs at boot.
4. In some rare cases Logs might show that specific kernel services are not accessible.
In this case we only change the init.environ.rc. Which has the frameworks needed to boot.
5. If you can't get kernel logging at boot use this in recovery after 2 mins of booting.
Code:
adb pull /data/tombstones
6.Update
DaKillaz98 said:
Hello All! I am posting this fix because on my Note Edge, I wasn't able to get logcat or adb access at boot, no matter what property I set, it didn't work. I finally figured out a way to get true logcat right as the boot animation comes up.
First off, you NEED Notepad++ if you don't want garbage clumped up editing.
1. In Android Image Kitchen, depack the Boot image.
2. Then, go to split image and modify boot.img-cmdline and add
Code:
buildvariant=userdebug
.
3. Save that file, then go to the ramdisk folder and edit your default.prop. change these values.
Code:
ro.secure=1 > ro.secure=0
ro.adb.secure=1 > ro.adb.secure=0
ro.debuggable=0 > ro.debuggable=1
4. Save that file, then go to init.rc, and use find to search for adbd to jump to this.
Code:
# adbd is controlled via property triggers in init.<platform>.usb.rc
5. Change the original code from
Code:
service adbd /sbin/adbd --root_seclabel=u:r:su:s0
class core
socket adbd stream 660 system system
disabled
seclabel u:r:adbd:s0
TO:
service adbd /sbin/adbd --root_seclabel=u:r:su:s0
disabled
socket adbd stream 660 system system
seclabel u:r:adbd:s0
6. Change this to new code.
Code:
# adbd on at boot in emulator
on property:ro.kernel.qemu=1
start adbd
TO:
# allows adbd at boot with property trigger below
on property:ro.debuggable=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/enable 1
start adbd
7. Rebuild the kernel and install in TWRP or however you install kernels, ADB will be accessible right at boot so nothing is lost during logging. If your kernel doesn't need this, don't bother, but if like me, you couldn't get anything, this will fix your issues.
In some cases, you will still need to push adb_keys to /data/misc/adb/, however.
@malbert16442 Please consider putting this in OP for those who have issues getting logcat at boot.
Click to expand...
Click to collapse
Part 2
Adb is key in any port. Adb is the secret. It gives us the ability to access logs be able to debug issues in our ROM.
1. Download adb drivers
http://forum.xda-developers.com/showthread.php?p=48915118#post48915118
Thanks Member @Snoop05
2. Test adb by using 'adb devices" in cmd
You should see online
3. If offline try using adb kill-server and repeat step 2.
4. When making a loging for these ports we use the phrase adb logcat *:E > filename
this ensures that we filter the logs by errors and remove the long set of lines like thermal updates ...etc
Part 3
In order to port firmware
1. Download Stock firmware extract it with tool
Websites to get stock firmware are
http://updato.com/firmware-archive-select-model
or https://forum.xda-developers.com/galaxy-tab-s/general/tool-samfirm-samsung-firmware-t2988647
2.We will deodex our rom using Fulmics or similar deodexer
Either a kitchen like "http://forum.xda-developers.com/chef-central/android/kitchen-superrs-kitchen-t3202296/page26" or similar.
Thanks @SuperR
https://forum.xda-developers.com/android/software-hacking/tooll-03-12-fulmics-deodexer-1-0-t3512081
Thanks @xpirt
3. Learn how to use APK DECOMPILE TOOLS SUCH AS TICKLEMEANDRIOD
http://forum.xda-developers.com/showthread.php?t=1633333
Thanks @Ticklefish
4. Remove Apps Priv-app and Framework of base. In a new folder use Fulmics to deodex this. Store somewhere safe.
5. Deodex Port and copy the Apps, Framework and Priv-app into the Base of stock rom.
6. In Ticklemeandriod you notice we have 6 work Areas. For our Roms we will only need two. The most common files we will use are services.jar, and framework.jar.
7. Take the services and framework our our Port and decompile in work area 1.
8. Take the services and framework of our Base and decompile in work area 2.
9. We will Perform a quick Step to help if App signatures become corrupt or cannot be read.
Follow this guide by @ikrom
http://forum.xda-developers.com/showpost.php?p=62496153&postcount=2957
10. After this lets move to debugging our apps and frameworks.
Part 4 (Tools and debugging)
My favorite tools to use include WinMerge and FileSeek
1. Winmerge enables us to compare two files. For example a stock jar and one of our port.
2. File seek allows us to search for a specific references.
I use file seek to search for weird terminology I see on my log.
3. Terminology
Part 5 ( Terminology)
1. In a logcat we are looking for three things when debugging. "E JavaBinder:", "E art", "E AndroidRuntime: FATAL EXCEPTION:"
2. The order to debug we search in logcat. When beginning it is not specific but, I usually search for Art errors first.
3. So for example if I get in my logcat
Code:
"01-01 01:26:25.169 5599 7183 E JavaBinder: java.lang.NoSuchMethodError: No virtual method activityPauseTrigger(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;)V in class Lcom/android/internal/app/ActivityTrigger; or its super classes (declaration of 'com.android.internal.app.ActivityTrigger' appears in /system/framework/framework.jar:classes2.dex)"
I got the location which is framework jar Class2
Code:
activityPauseTrigger(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;)V is the missing info in the port smalis and
log says it is somewhere in
Code:
Lcom/android/internal/app/ActivityTrigger; or the files with idential names to Activity trigger
4. In this case missing method could be found in stock smali. This is where we use win merge to cleanly copy new method from stock to port.
5. But Mike what if The logcat doesnt tell me location. We will then use fileseek in this instance.
Example: Log tells me
Code:
"01-01 00:24:17.509 7524 7539 E JavaBinder: java.lang.UnsatisfiedLinkError: No implementation found for void com.android.internal.app.ActivityTrigger.native_at_pauseActivity(java.lang.String) (tried Java_com_android_internal_app_ActivityTrigger_native_1at_1pauseActivity and Java_com_android_internal_app_ActivityTrigger_native_1at_1pauseActivity__Ljava_lang_String_2)
"
No implementation means that we must remove this file as it is not found in the libs. What location? We dont know yet ?
Code:
com.android.internal.app.ActivityTrigger.native_at_pauseActivity(java.lang.String
is what we are looking for
According to fileseek I would look for pauseActivity because it is a keyword
According to file seek I may get 100 references but I see one that says
Code:
.method ActivityTrigger.native_at_pauseActivity
I would then use winmerge to cleanly delete/copy the file from my stock smali to the new one. From the location I found in Fileseek.
6. Let me give a example of a Runtime error.
Code:
"07-25 09:17:08.975 16379 16379 E AndroidRuntime: java.lang.NoSuchMethodError: No interface method setDataFromNSFLP(ILandroid/os/Bundle;)V in class Landroid/location/ILocationManager; or its super classes (declaration of 'android.location.ILocationManager' appears in /system/framework/framework.jar)
So log told us to look in framework for a file with
Code:
setDataFromNSFLP(ILandroid/os/Bundle;)V
Boot up file seek and repeat steps above.
Part 6
So we booted now what.
Lets now work on fixing local errors.
Use logcat to possible fcs and reboots.
All firmware edits are different so this guide will help if you are learning the way android works.
What to look out for
Remember the Base folder we deodexed. We will use this to help fix issues in our rom.
1. Take the McRegistry Folder and ffffffff0000000 File move this to our booted rom.
2. Now in the Ported firmware copy the Fonts folder and the files named font in /etc to our booted rom.
3. Delete these folders - " preloadedmdm ", " sipdb " and " tts from booted rom and replace with that from ported firmware.
4. Open " Media " folder in booted rom
Delete Audio folder
Replace with Ported firmware audio folder.
5. In /etc/permission add the missing software permissions not hardware like slocation or camera-flash.
6. In build-prop
Replace these values with that of port.
Code:
ro.build.scafe.size=
ro.build.scafe.shot=
ro.build.scafe.cream=
ro.build.scafe.version=
ro.com.google.gmsversion=
ro.build.version.sdl=
ro.config.ringtone=
ro.config.notification_sound=
ro.config.alarm_alert=
ro.config.media_sound=
ro.config.ringtone_2=
ro.config.notification_sound_2=
7. Add this code to build-prop
Code:
wlan.wfd.hdcp=disable
Let's Fix Messages and Phone FCS on first boot
1. From ported from take the libselinux.so to fix message fcs
2. To fix Phone fcs take the mapconprovider.xml from port
64 bit firmware to 32bit
1. Replace 64 bit libs with 32 bit alternatives.
2. You could find 32 bit libs in 32 bit firmware.
32bit all that could be found will be attached here for all users
Fix location problems in Rom
With our services.jar decompiled take these smalis from base and use Winmerge to copy to Port jar.
Code:
services.jar\smali\com\android\server\location folder to that of port
also take the
Code:
services.jar\smali\com\android\server\LocationManagerService$xxx
Smalis and move from base to port location.
1. Take NFC.apk and Bluetooth.apk from base and move to new Rom folder.
OR A more complex NFC fix would be to look in PackageManagerService.smali
of services.jar
look for the NFC model of the device you are porting from
1. So use FileSeeker
to search for method with "supportNfc"
2. Replace it with your model number.
Example the NFC number of Note 7 is S3FWRN5
I would replace it with the NFC number of S5 which is NXP_PN547C2
Blur
https://forum.xda-developers.com/showpost.php?p=69547250&postcount=10031
AOD FRAMEWORK FIX
Credits :
@Patrick.H (NX Team)
@karkasss (NX Team)
@Develoid ALT and F4 (AOD touch / Bluelight filter fix)
@asc1977, @DaOldMan (AOD brightness control)
(Please copy & paste when you add our credits)
Download this file extract to services.jar
https://mega.nz/#!KgMxwQDR!g0yy7a6Izk8U8szRsggaZAXLaF4pjSMYAc8p6kOjIs4
Compare the PowerManagerService Smails.
then recompile
OR
thanks @oluwaponmile
follow this guide
https://forum.xda-developers.com/showpost.php?p=69594939&postcount=8139
Lets fix ported Cameras
Code:
[SIZE="3"]GUIDE IS IN PROGRESS[/SIZE]
Debug solution not fix:
This will be a hard thing to accomplish. Also make sure that Camera is recompiled using New signatures.
First lets find the native resolutions of your camera. For this we look in native camera apk.
Find the native resolutions in arrays or strings xml.
Save resolutions found in port apk for later reference. These are the values we are going to replace with stock hexadecimal values.
Use a Decimal to Hexadecimal Converter to find the values for the resolutions in smali.
For example 1080 would be 438 and 1920 would be 780.
For this value we will intrepid the hexadecimal value as 0x438 and 0x780 respectively in andriod.
When we are looking for the resolutions in port apk we grep the values based on the hexadecimal.
So in an example if resolution of port camera is 1920x1080 and stock is 1080x1920, then in smali we might get a value of 0x438, 0x780 in assortment. Simply replace 0x438 with 0x780 and 0x780 with 0x438.
Replace these values in port apk with the stock equivalent. Recompile.
Keep this open in one window.
Now open up camera and take log.
Most likely you would get a error saying missing resolution
KNOX STATUS REVERT (Kernel)
@topjohnwu for reset prop
The reset prop source was removed from topjohnwu thread however you could use the prebuilt binary in his magisk release zips.
1. Pick your device arch and remove binary from zip
2. Now download a tool to extract boot images.
3. Navigate to sbin and drop your resetprop binary.
4. Get back to root directory and add this file http://www106.zippyshare.com/v/AzldZO7A/file.html
5. Now in init.rc add this code
Code:
# Call Knox Reset
service knox-daemon /system/bin/sh /init.knox.sh
class main
user root
oneshot
Device Specific Section
(Section will detail device specific edits for particular devices once users post.)
mitko7411 said:
So I haven't really made a new list of smalis for porting roms, but here's the ones just to boot ANY 6.0.1 firmware on J5 2015.
Debug
GpsLocationProvider
KnoxVpnPacProcessor
TADriver
SchedPolicyManager
Click to expand...
Click to collapse
No Pm type message below.
Also I will post below all the logs I used to boot Note 7 firmware on my s5
All the edits used to boot Note 7 firmware on S5 it is different for every device.
https://mega.nz/#!8ZtzWCJR!rqTrvD5K3pUvHOAMq_540L_z7Hx0LFZawSzpobFDF98
Thanks for this guide..
A nice guide. Thanks! :highfive:
Ticklefish said:
A nice guide. Thanks! :highfive:
Click to expand...
Click to collapse
Thanks
Sent from my SM-A810S using Tapatalk
Great Extremely helpful, time for noobs to port now
Thanks mate you finally did it big help
Thanks manYou helped me.
Well ,,
Malbert , im sure 100% , too much things missed in ur guide mate , this way how u do it isn't an how to ported rom from different devices , or high end to previous years device's , sorry to say this but this isn't a full guide & its just a point for drop app/prev/fram to ur stock base then try to booted then with bootloop logcat u will got what's the missing things well ,
Sorry to say it but this isn't a Full guide for HOW TO PORT Roms , ....
Edit ::
Next time try to be more specific & gives more details & which files / jars / smali / apks / libs / xml / config & which we can use & got from ported base to stock base ,
thereassaad said:
Well ,,
Malbert , im sure 100% , too much things missed in ur guide mate , this way how u do it isn't an how to ported rom from different devices , or high end to previous years device's , sorry to say this but this isn't a full guide & its just a point for drop app/prev/fram to ur stock base then try to booted then with bootloop logcat u will got what's the missing things well ,
Sorry to say it but this isn't a Full guide for HOW TO PORT Roms , ....
Edit ::
Next time try to be more specific & gives more details & which files / jars / smali / apks / libs / xml / config & which we can use & got from ported base to stock base ,
Click to expand...
Click to collapse
Thanks assaad will fix when I get time I get what you are saying but this is a intro. I can't explicitly state which jars apks or libs are needed because they are all different for different devices. XML and permissions I could elaborate on but you can't expect me to possibly give a overview of everything right. Hope you understand thanks. I never explicitly stated this was a full guide and you shouldn't treat it as such.
Sent from my SM-A810S using Tapatalk
Well my friend , i never do ,,
For example without editing systemserver.smali the rom will never booted & u know this very well , i just means to be very static for some useful tips for such framework / & well known smali that need to be our eyes on them .. that's all my point means ..
Good luck my friend
thereassaad said:
Well my friend , i never do ,,
For example without editing systemserver.smali the rom will never booted & u know this very well , i just means to be very static for some useful tips for such framework / & well known smali that need to be our eyes on them .. that's all my point means ..
Good luck my friend
Click to expand...
Click to collapse
Ohh I understand what you are saying. I will expand on this guide when I get time hopefully you also could help support and add to this guide as XDA is a community. ? Over time we could help many users thanks for your advice.
Sent from my SM-A810S using Tapatalk
@malbert16442 Can you help me with my S5 which is G9008V China Mobile variant?
I can't boot on Thunderbolt A8 rom...
What should I Fix?
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
I have one small issue, in your log n79 you have "E SQLiteDatabase: " How did you fix this error? I am having the same issue, with one of my builds.
Solved:
FileSeek ftw!
jonathanmohamed said:
I have successfully ported s7 and n7 firmware using this guide.
Awesome guide!. 9/10
I have one small issue, in your log n79 you have "E SQLiteDatabase: " How did you fix this error? I am having the same issue, with one of my builds.
Solved:
FileSeek ftw!
Click to expand...
Click to collapse
Thanks happy for you. How would you rate your level of expertise so I could set a difficulty level for this
Sent from my Pixel XL using Tapatalk
Learned new debug problems in Sammy Roms updating guide soon, making it more appealing too. Happy that one person actually made a port from this guide.
thnx alot @malbert16442 .... but i have 2 bugs i didnt manage to fix
1-wifi work and i can see available network but when i try to connect i get 'failed to connect' .. I tried to use my stock wifi-service.jar but the device not boot)
2-Camera work (back and front) and i can take photos...but when i try to record video i get 'Recording faield' fixed
Allooosh98 said:
thnx alot @malbert16442 ...using this guide i ported S7e, G532F to j7.....but i have 2 bugs i didnt manage to fix
1-wifi work and i can see available network but when i try to connect i get 'failed to connect' .. I tried to use my stock wifi-service.jar but the device not boot)
2-Camera work (back and front) and i can take photos...but when i try to record video i get 'Recording faield' fixed
Click to expand...
Click to collapse
When you add wifi serivce jar you have edits to make in framework you will see in your log
But don't work I have a fix for stock files too. I work on this guide this weekend make it look better
Okay so alot of people are pming me about fixing camera will post solution or debug solutions here soon
hey @malbert16442 bro can u help me to fix the problem?? there is a E art error in logcat that i cant fix it :
E art : No implementation found for int android.os.storage.sensitive.SecureStorageLSM.lsmInitialize() (tried Java_android_os_storage_sensitive_SecureStorageLSM_lsmInitialize and Java_android_os_storage_sensitive_SecureStorageLSM_lsmInitialize__)
i checked smali files but its as same as stock,i attached the log,if its ok look at it and tell me what should i do

Categories

Resources