Related
Noob alert: Would anyone be kind enough to write a quick tutorial on how to use these jar files? I want to learn how to edit xml. I have searched these forums and google, but havent been able to get anywhere.
Code:
java -jar baksmali-0.93.jar -o <output directory> <.dex file, typically classes.dex>
For example: java -jar baksmali-0.93.jar -o out/rogers/dexout/ rogers-classes.dex
java -Xmx512M -jar smali-0.92.jar <output directory from above step> -o <name for new .dex output file>
For example: java -Xmx512M -jar smali-0.92.jar out/rogers/dexout/ new-rogers.dex
First command disassembles the .dex file, second command reassembles it (hopefully after you went in and made some cool changes to some of the .smali files)
Re-read your post, these are not for editing XML files. That is a whole other ball of wax. Most devs are not as interested in making post-build modifications now that the source for everything is available. You can set up a build environment and edit the XML files in plain text before you compile everything. Which is a lot easier than hex editing binary XML files...
Ohsaka said:
Code:
java -jar baksmali-0.93.jar -o <output directory> <.dex file, typically classes.dex>
For example: java -jar baksmali-0.93.jar -o out/rogers/dexout/ rogers-classes.dex
java -Xmx512M -jar smali-0.92.jar <output directory from above step> -o <name for new .dex output file>
For example: java -Xmx512M -jar smali-0.92.jar out/rogers/dexout/ new-rogers.dex
First command disassembles the .dex file, second command reassembles it (hopefully after you went in and made some cool changes to some of the .smali files)
Re-read your post, these are not for editing XML files. That is a whole other ball of wax. Most devs are not as interested in making post-build modifications now that the source for everything is available. You can set up a build environment and edit the XML files in plain text before you compile everything. Which is a lot easier than hex editing binary XML files...
Click to expand...
Click to collapse
I dont think you have to hex-edit them. Theres a tool called AXMLPrinter2.jar that makes xml files into readable ones. I'm sure you can just make your edits and copy and paste that text into a new blank xml file. Credits to jashu for the AXMLPrinter.jar
alritewhadeva said:
I dont think you have to hex-edit them. Theres a tool called AXMLPrinter2.jar that makes xml files into readable ones. I'm sure you can just make your edits and copy and paste that text into a new blank xml file. Credits to jashu for the AXMLPrinter.jar
Click to expand...
Click to collapse
How do you propose to recompile the xml sheet?
I don't think it's a jar btw, pretty sure he made a tar/gz, and a perl script.
mianosm said:
How do you propose to recompile the xml sheet?
I don't think it's a jar btw, pretty sure he made a tar/gz, and a perl script.
Click to expand...
Click to collapse
nah pretty sure its a jar. I'll find the link for you.
right here http://forum.xda-developers.com/showthread.php?t=514412
just did some quick research...im a noob in this field but can anyone make sense of this? http://www.stylusstudio.com/binary_xml.html#
It's going to be quicker and easier to change the values in a hex editor, and as said prior - you aren't going to be able to just put a human readable xml file into an apk and have the phone use it - it's expecting binary, so it would be a pretty neat feat if it took human readable and parsed it and out put it.
mianosm said:
It's going to be quicker and easier to change the values in a hex editor, and as said prior - you aren't going to be able to just put a human readable xml file into an apk and have the phone use it - it's expecting binary, so it would be a pretty neat feat if it took human readable and parsed it and out put it.
Click to expand...
Click to collapse
Yeah I know that, but you should be able to convert to binary and then convert it back to xml format. Problem is on every converter I've used, in the past 5 minutes (just started researching) keeps saying something about not a schema
alritewhadeva said:
Yeah I know that, but you should be able to convert to binary and then convert it back to xml format. Problem is on every converter I've used, in the past 5 minutes (just started researching) keeps saying something about manifest not found.
Click to expand...
Click to collapse
The xml in the templates/updates is currently compiled.
After you use the xml parser it's human readable/editable, but then you would need to recompile it. If you're going to do that, you'd might as well just do it from the source, and even still the color changes are hard coded and need to be changed to your liking.
The decompiled editing, and hex editing is really going to be the easiest/quickest method for color adjustments for now.
I'm surprised Stericson or JF haven't put out an XML compiler yet...
Ohsaka said:
You can set up a build environment and edit the XML files in plain text before you compile everything. Which is a lot easier than hex editing binary XML files...
Click to expand...
Click to collapse
Is it required to set up a build environment? I researched that and only found instructions for linux/mac.
This is my understanding of baksmali/smali. I thought I could take a file(apparently a DEX file) from the Android SDK, disassemble it, edit, then assemble. I scanned through the SDK and didn't find any DEX files?
Ohsaka said:
I'm surprised Stericson or JF haven't put out an XML compiler yet...
Click to expand...
Click to collapse
yea...True true. Just a QQ what's the AndroidManifest.xml file used for?
For your reading pleasure (from the launcher AndroidManifest.xml):
Code:
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2008, The Android Open Source Project
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.launcher"
android:sharedUserId="android.uid.shared"
android:sharedUserLabel="@string/application_name">
<permission
android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_install_shortcut"
android:description="@string/permdesc_install_shortcut" />
<permission
android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_uninstall_shortcut"
android:description="@string/permdesc_uninstall_shortcut"/>
<permission
android:name="com.android.launcher.permission.READ_SETTINGS"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_read_settings"
android:description="@string/permdesc_read_settings"/>
<permission
android:name="com.android.launcher.permission.WRITE_SETTINGS"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_write_settings"
android:description="@string/permdesc_write_settings"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
<application
android:name="LauncherApplication"
android:process="android.process.acore"
android:label="@string/application_name"
android:icon="@drawable/ic_launcher_home">
<activity
android:name="Launcher"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true"
android:theme="@style/Theme"
android:screenOrientation="nosensor"
android:windowSoftInputMode="stateUnspecified|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
<activity
android:name="WallpaperChooser"
android:label="@string/pick_wallpaper"
android:icon="@drawable/ic_launcher_gallery">
<intent-filter>
<action android:name="android.intent.action.SET_WALLPAPER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Enable system-default search mode for any activity in Home -->
<meta-data
android:name="android.app.default_searchable"
android:value="*" />
<!-- Intent received used to install shortcuts from other applications -->
<receiver
android:name=".InstallShortcutReceiver"
android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
</intent-filter>
</receiver>
<!-- Intent received used to uninstall shortcuts from other applications -->
<receiver
android:name=".UninstallShortcutReceiver"
android:permission="com.android.launcher.permission.UNINSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.UNINSTALL_SHORTCUT" />
</intent-filter>
</receiver>
<!-- The settings provider contains Home's data, like the workspace favorites -->
<provider
android:name="LauncherProvider"
android:authorities="com.android.launcher.settings"
android:writePermission="com.android.launcher.permission.WRITE_SETTINGS"
android:readPermission="com.android.launcher.permission.READ_SETTINGS" />
</application>
</manifest>
Or the Music one:
Code:
packages/apps/Music/res/layout/statusbar.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2007, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/icon"
android:padding="4dip"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ImageView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/trackname"
android:textAppearance="?android:attr/textAppearanceMediumInverse"
android:focusable="true"
android:ellipsize="marquee"
android:singleLine="true"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:id="@+id/artistalbum"
android:textAppearance="?android:attr/textAppearanceSmallInverse"
android:layout_gravity="left"
android:maxLines="2"
android:scrollHorizontally="true"
android:ellipsize="end"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
And for the statusbar:
Code:
/frameworks/base/tests/StatusBar$ cat AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.statusbartest">
<uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.STATUS_BAR" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.VIBRATE" />
<application>
<activity android:name="StatusBarTest" android:label="_StatusBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="NotificationTestList" android:label="_Notifications">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="ToastTest" android:label="_Toasts">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="PowerTest" android:label="_Power">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
mianosm said:
For your reading pleasure (from the launcher AndroidManifest.xml):
Code:
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2008, The Android Open Source Project
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.launcher"
android:sharedUserId="android.uid.shared"
android:sharedUserLabel="@string/application_name">
<permission
android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_install_shortcut"
android:description="@string/permdesc_install_shortcut" />
<permission
android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_uninstall_shortcut"
android:description="@string/permdesc_uninstall_shortcut"/>
<permission
android:name="com.android.launcher.permission.READ_SETTINGS"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_read_settings"
android:description="@string/permdesc_read_settings"/>
<permission
android:name="com.android.launcher.permission.WRITE_SETTINGS"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal"
android:label="@string/permlab_write_settings"
android:description="@string/permdesc_write_settings"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
<application
android:name="LauncherApplication"
android:process="android.process.acore"
android:label="@string/application_name"
android:icon="@drawable/ic_launcher_home">
<activity
android:name="Launcher"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true"
android:theme="@style/Theme"
android:screenOrientation="nosensor"
android:windowSoftInputMode="stateUnspecified|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
<activity
android:name="WallpaperChooser"
android:label="@string/pick_wallpaper"
android:icon="@drawable/ic_launcher_gallery">
<intent-filter>
<action android:name="android.intent.action.SET_WALLPAPER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Enable system-default search mode for any activity in Home -->
<meta-data
android:name="android.app.default_searchable"
android:value="*" />
<!-- Intent received used to install shortcuts from other applications -->
<receiver
android:name=".InstallShortcutReceiver"
android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
</intent-filter>
</receiver>
<!-- Intent received used to uninstall shortcuts from other applications -->
<receiver
android:name=".UninstallShortcutReceiver"
android:permission="com.android.launcher.permission.UNINSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.UNINSTALL_SHORTCUT" />
</intent-filter>
</receiver>
<!-- The settings provider contains Home's data, like the workspace favorites -->
<provider
android:name="LauncherProvider"
android:authorities="com.android.launcher.settings"
android:writePermission="com.android.launcher.permission.WRITE_SETTINGS"
android:readPermission="com.android.launcher.permission.READ_SETTINGS" />
</application>
</manifest>
Click to expand...
Click to collapse
Is that directly from the source? Android source that is. In eclipse when you write the .xml file doesn't it convert it to binary when you compile/create the app?
That's directly from the source yes. When it's compiled it takes the xml format and turns it into binary yes.
ultra spikey said:
Is it required to set up a build environment? I researched that and only found instructions for linux/mac.
This is my understanding of baksmali/smali. I thought I could take a file(apparently a DEX file) from the Android SDK, disassemble it, edit, then assemble. I scanned through the SDK and didn't find any DEX files?
Click to expand...
Click to collapse
I believe, for right now, you need a build environment to product compiled XMLs only. Until someone releases a tool to compile them...
Your understanding is correct. The SDK does not include and .dex files. The SDK is to help you develop your own app, not edit the underlying android platform files. Even if you grab the source from using git, you wont find .dex files. They are the output of the build process...i.e. the compiled java files...
Yes, only on linux/mac. Just get VMWare or some other virtual machine program and make a linux VM to develop on. If I ever get around to finishing mine, I will give it out so that people can just get VMPlayer to run it...
VirtualBox is pretty outstanding as well as vmware.
The real fix should not be decompiling/compiling though, it really should be edits to the actual source that is pushed upstream to gerrit, so it can be reviewed and updated accordingly.
It's really kind of a sloppy backward way to do it the way how it's getting done right now - don't get me wrong it works, but it's just not best practice.
Taking anything outside of the compiled xml and dex files opens up the system for slowdowns though doesn't it?
Like if we all somehow submitted a patch to the core that made it know to look at /sdcard/theme/ for a bunch of xml files and pngs... Then joe blow comes along with his $2.99 2gig card that runs slow as s* and his whole phone because unusable...
Is it even possible to use eclipse on ubuntu? Haven't found an answer. Running ubuntu on a VM right now.
Eclipse is java... so yes. There may not be a nice windows installer for it, but it should run on any platform with a JRE...
Ohsaka said:
Eclipse is java... so yes. There may not be a nice windows installer for it, but it should run on any platform with a JRE...
Click to expand...
Click to collapse
all right then. Time to research lol. Thanks
Hello world!
I was testing and messing everything with my old tablet (ViewSonic gTablet), I was running ICS on it and, I've pulled my old Honeycomb stock launcher of and older rom on it, put on system/apps and chaged permissions, voi'la! It was running amazingly fast and without bugs, i was surprised at first time so I've decided to try it on my Galaxy s3.
Put on SGS3 the history was diferent, I am on CM10.1 too, and when I pushed it to system/apps and changed its permissions, when I try to launch it via 'home' key, it gives me an error. It would not run, so I've decompiled it, but as a noobie user I can't identify the problem with it.
So I've uploaded the honeycomb stock launcher from my old tablet rom here, and maybe someone who understands it may help me!
A Brief explanation of why I like too much the honeycomb stock launcher:
Honeycomb Stock Launcher has a beautiful animation when you go to your Apps drawer or just try to add icons and widgets to your homescreen, the launcher fly around your wallpaper, and it is super smooth, like the newest JB launchers.
So, please, someone help me! =))
Also, if someone wants it, i've made a honeycomb clock (google sourcers), it is exactly the same as the stock.
==/ UPDATE \==
Here is the Android Manifest, maybe the problem is here, I would expect bugs with xmls res values, with orientation bugs of course, but it should've run first.
<?xml version="1.0" encoding="utf-8"?>
<manifest android:sharedUserId="@string/sharedUserId" android:versionCode="13" android:versionName="3.2-140714" package="com.android.launcher"
xmlns:android="http://schemas.android.com/apk/res/android">
<original-package android:name="com.android.honey" />
<permission android:label="@string/permlab_install_shortcut" android:name="com.android.launcher.permission.INSTALL_SHORTCUT" androidrotectionLevel="normal" androidermissionGroup="android.permission-group.SYSTEM_TOOLS" android:description="@string/permdesc_install_shortcut" />
<permission android:label="@string/permlab_uninstall_shortcut" android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" androidrotectionLevel="normal" androidermissionGroup="android.permission-group.SYSTEM_TOOLS" android:description="@string/permdesc_uninstall_shortcut" />
<permission android:label="@string/permlab_read_settings" android:name="com.android.launcher.permission.READ_SETTINGS" androidrotectionLevel="normal" androidermissionGroup="android.permission-group.SYSTEM_TOOLS" android:description="@string/permdesc_read_settings" />
<permission android:label="@string/permlab_write_settings" android:name="com.android.launcher.permission.WRITE_SETTINGS" androidrotectionLevel="normal" androidermissionGroup="android.permission-group.SYSTEM_TOOLS" android:description="@string/permdesc_write_settings" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.BIND_APPWIDGET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
<application android:label="@string/application_name" android:icon="@drawable/ic_launcher_home" android:name="com.android.launcher2.LauncherApplication" androidrocess="@string/process" android:hardwareAccelerated="true" android:largeHeap="true" android:allowTaskReparenting="true" android:enabled="true">
<activity android:theme="@style/Theme" android:name="com.android.launcher2.Launcher" android:clearTaskOnLaunch="true" android:stateNotNeeded="true" android:launchMode="singleTask" android:windowSoftInputMode="adjustNothing">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
<activity android:theme="@style/Theme.WallpaperPicker" android:label="@string/pick_wallpaper" android:icon="@drawable/ic_launcher_wallpaper" android:name="com.android.launcher2.WallpaperChooser" android:finishOnCloseSystemDialogs="true" style="@style/config_orientation">
<intent-filter>
<action android:name="android.intent.action.SET_WALLPAPER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.wallpaper.preview" android:resource="@xml/wallpaper_picker_preview" />
</activity>
<receiver android:name="com.android.launcher2.InstallShortcutReceiver" androidermission="com.android.launcher.permission.INSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
</intent-filter>
</receiver>
<receiver android:name="com.android.launcher2.UninstallShortcutReceiver" androidermission="com.android.launcher.permission.UNINSTALL_SHORTCUT">
<intent-filter>
<action android:name="com.android.launcher.action.UNINSTALL_SHORTCUT" />
</intent-filter>
</receiver>
<provider android:name="com.android.launcher2.LauncherProvider" android:readPermission="com.android.launcher.permission.READ_SETTINGS" android:writePermission="com.android.launcher.permission.WRITE_SETTINGS" android:authorities="com.android.launcher2.settings" />
</application>
</manifest>
Click to expand...
Click to collapse
No luck for me? (and for another users who will install it if they could)
='(
Android honeycomb was the best android
Sent from my GT-I9300 using xda app-developers app
Possible to port so you don't need to push to system/app?
Sent from my super rare, old Scroll Excel running Android 2.3 using the offical app.
DOES DAT APP RUN ON DEVICES SSTILL ROCKIN 2.3?
Hello guys i am back with easy and very useful guide for newbies
This is a guide on how to mod your Settings.apk to make it like an ICS's one !!
Requirements:-
1. PC
2. JAVA(JDk) installed
3. APk manager(i prefer)[to decompile apks]
3. Eyes
4. A little bit of brain too...!!!
# so lets start
Click to expand...
Click to collapse
# decompile your settings.apk
#Navigate to projects\Settings.apk\res\xml
#Open Settings.xml with Notepad++
It should look something like this (not exactly like this but somehow)...
Click to expand...
Click to collapse
#Now to make them like ics we need to add them in categories
So Lets go
#To add wifi and bluetooth shortcuts we need to add this code
Code:
<PreferenceCategory android:title="Networks and Connectivity" />
<com.android.settings.IconPreferenceScreen android:title="Wi-Fi" settings:icon="@drawable/wifi">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.wifi.WifiSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="Bluetooth" settings:icon="@drawable/bt">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="More..." android:key="wireless_settings" settings:icon="@drawable/more">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
</com.android.settings.IconPreferenceScreen>
#Add 3 Pngs in your respected drawable folder with the names as refered above
Note to remove this code
Code:
<com.android.settings.IconPreferenceScreen android:title="@string/radio_controls_title" android:key="wireless_settings" settings:icon="@drawable/ic_settings_wireless">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
</com.android.settings.IconPreferenceScreen>
This may be different according to ur phone -->> android:title="@string/radio_controls_title"
Click to expand...
Click to collapse
So now we'll need to categorize other things
Code:
<PreferenceCategory android:title="Text goes here" />
REFER TO THIS IMAGE
#So i guess you have understood it
Your whole settings.xml should look like this
Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/settings_label" android:key="parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<PreferenceCategory android:title="Wireless and Networks" />
<com.android.settings.IconPreferenceScreen android:title="Wi-Fi" settings:icon="@drawable/wifi">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.wifi.WifiSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="Bluetooth" settings:icon="@drawable/bt">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.bluetooth.BluetoothSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="More" settings:icon="@drawable/ic_settings_more">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.WirelessSettings" />
</com.android.settings.IconPreferenceScreen>
<PreferenceCategory android:title="Device" />
<com.android.settings.IconPreferenceScreen android:title="@string/call_settings_title" android:key="call_settings" settings:icon="@drawable/ic_settings_call">
<intent android:targetPackage="com.android.phone" android:action="android.intent.action.MAIN" android:targetClass="com.android.phone.CallFeaturesSetting" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/sound_settings_title" settings:icon="@drawable/ic_settings_sound">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SoundSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/display_settings_title" settings:icon="@drawable/ic_settings_display">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DisplaySettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/storage_settings" settings:icon="@drawable/ic_settings_storage">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.deviceinfo.Memory" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/power_usage_summary_text" settings:icon="@drawable/ic_settings_battery">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.fuelgauge.PowerUsageSummary" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/applications_settings" android:key="applications_settings" settings:icon="@drawable/ic_settings_applications">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.ApplicationSettings" />
</com.android.settings.IconPreferenceScreen>
<PreferenceCategory android:title="Personal" />
<com.android.settings.IconPreferenceScreen android:title="@string/sync_settings" android:key="sync_settings" settings:icon="@drawable/ic_settings_sync">
<intent android:action="android.settings.SYNC_SETTINGS" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/security_settings_title" android:key="security_settings" settings:icon="@drawable/ic_settings_security">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SecuritySettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/location_settings_title" android:key="security_settings" settings:icon="@drawable/ic_settings_location">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.SecuritySettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/privacy_settings" android:key="privacy_settings" settings:icon="@drawable/ic_settings_privacy">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.PrivacySettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/search_settings" android:key="search_settings" settings:icon="@drawable/ic_settings_search">
<intent android:action="android.search.action.SEARCH_SETTINGS" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/language_settings" settings:icon="@drawable/ic_settings_language">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.LanguageSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/voice_input_output_settings" settings:icon="@drawable/ic_settings_speech">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.VoiceInputOutputSettings" />
</com.android.settings.IconPreferenceScreen>
<PreferenceCategory android:title="Management" />
<com.android.settings.IconPreferenceScreen android:title="@string/dock_settings_title" android:key="dock_settings" settings:icon="@drawable/ic_settings_dock">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DockSettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/accessibility_settings" settings:icon="@drawable/ic_settings_accessibility">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.AccessibilitySettings" />
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen android:title="@string/date_and_time_settings_title" settings:icon="@drawable/ic_settings_date_time">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DateTimeSettings" />
</com.android.settings.IconPreferenceScreen>
<PreferenceCategory android:title="About" />
<com.android.settings.IconPreferenceScreen android:title="@string/about_settings" settings:icon="@drawable/ic_settings_about">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.DeviceInfoSettings" />
</com.android.settings.IconPreferenceScreen>
</PreferenceScreen>
Now u can add this code where u want the category to appear...
Save it.
Done
Click to expand...
Click to collapse
Ohh...wait U wanna add some info of your rom and other stuff in about section then lets go
To add your rom info in About section of your settings
Open device_info_settings.xml from xml folder
It should look something like this...
#Now we do not have to touch this part...(or else it might give error)
So now we need to add some info in that part...
Code:
<Preference android:title="Rom Name" android:summary="Rom name goes here" style="?android:preferenceInformationStyle" />
<Preference android:title="Rom Developer" android:summary="ADd ur name here" style="?android:preferenceInformationStyle" />
Add this code before [[ </PreferenceScreen> ]]
It should look like this...
Click to expand...
Click to collapse
BINGO
You are done...
Now you can compile back ur apk...(i hope u know how to do it if u dont know then follow some guides)
Remember to delete Modified xmls and resource.arsc from keep folder...
Click to expand...
Click to collapse
Screenshot of modified ics settings
Hit thnaks to Motivate me..
{
"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"
}
Click to expand...
Click to collapse
good, look clear... nice guide sir
Great guide truly awesome....
m gonna mod my own ics/jb settings
thanks again for this helpful guide....
guide tabbed settings/s4 style setting for jb 4.1.2 touchwiz
Click to expand...
Click to collapse
hy all, i want to share how to modded your jb 4.1.2 touchwiz settings to be s4 style :d
initially, i just compare from @dikulbahrian mod, but other member want to create their own modding
so, i provided little guide here, and big thanks to sir @Adi Aisiteru Reborn, @BigSplit who inspired me too
if any credits forgotten, please remind me :highfive:
Click to expand...
Click to collapse
ok let's continue to guide
STEP-1
Decompile your SecSettings.apk
go to res/values/ids.xml and add blue line at the end
Code:
[COLOR="Blue"]<item type="id" name="ikon">false</item>
<item type="id" name="judul">false</item>[/COLOR]
</resources>
go to res/values/strings.xml and add blue line at the end
Code:
[COLOR="Blue"]<string name="ipul_tab1">My device</string>
<string name="ipul_tab2">Connections</string>
<string name="ipul_tab3">Accounts</string>
<string name="ipul_tab4">More</string>[/COLOR]
</resources>
go to res/values/styles.xml and add blue line at the end
Code:
[COLOR="Blue"]<style name="senjakala" parent="@*android:style/Theme.DeviceDefault">
<item name="android:windowNoTitle">true</item>
</style>[/COLOR]
</resources>
go to AndroidManifest.xml
find line like this :
Code:
<activity android:label="@string/settings_label_launcher" android:name="Settings" android:taskAffinity="com.android.settings" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Delete All line, and replace with this :
Code:
<activity android:theme="@style/senjakala" android:name="com.cyan.tabbed.TabActivity" android:taskAffinity="com.android.settings" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="@string/settings_label_launcher" android:name="PersonalSettings" android:taskAffinity="com.android.settings" android:launchMode="singleTask">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:label="@string/settings_label_launcher" android:name="DeviceSettings" android:taskAffinity="com.android.settings" android:launchMode="singleTask">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:label="@string/settings_label_launcher" android:name="AppSettings" android:taskAffinity="com.android.settings" android:launchMode="singleTask">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:label="@string/settings_label_launcher" android:name="CyanSettings" android:taskAffinity="com.android.settings" android:launchMode="singleTask">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Next download resources i provided here
merge to your SecSettings and confirm replace
Recompile your SecSettings and Sign it!! don't forget to sign because we edit AndroidManifest.xml
Go to STEP-2
STEP-2
Decompile again your SecSettings.apk
Download my public.xml here leave open for compare id public from your's
Open your public.xml
Go to smali\com\cyan\tabbed\TabActivity.smali
Find All public id with with code prefix 0x7fxxxxxx
for example, in the TabActivity.smali you will find 0x7f040139
copy these code and search in public.xml that I'm provided
you will find in public.xml like this
Code:
<public type="layout" name="ipul_indikator" id="0x7f040139" />
then copy <public type="layout" name="ipul_indikator" find in your public.xml
so you will find like this
Code:
<public type="layout" name="ipul_indikator" id="0x7fxxxxxx" />
copy your id 0x7fxxxxxx to replace 0x7f040139 in TabActivity.smali
Do for All, you will find 12 id like that
For same method, go to smali\com\android\settings\
Do All for this smali's :
AppSettings.smali
AppSettings$HeaderAdapter.smali
CyanSettings.smali
CyanSettings$HeaderAdapter.smali
DeviceSettings.smali
DeviceSettings$HeaderAdapter.smali
PersonalSettings.smali
PersonalSettings$HeaderAdapter.smali
Settings.smali
Settings$HeaderAdapter.smali
Click to expand...
Click to collapse
Recompile Your SecSettings, sign it!
push to your system, it should work with 4 blank tabs, if FC, check again your bublic
Don't follow next step until you have Work your Settings!
STEP-3
we will fill all the tabs, follow these steps correctly!!!!, or you will get forceclose!!!
go to res\xml
open ipul_account.xml, ipul_connect.xml, ipul_device.xml, ipul_more.xml.
Change from :
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android" />
to like this
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
</preference-headers>
open your settings_header.xml in res\xml\ and leave ipul_account.xml, ipul_connect.xml, ipul_device.xml, ipul_more.xml open too
Copy some code from your settings_header.xml to ipul_account.xml, ipul_connect.xml, ipul_device.xml, ipul_more.xml
Not All, because not all code is available in your ROM, if you do for all it will forceclosed!!!!
For Compare, I manage like this :
This is my settings_header.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header android:id="@id/home_settings_category" android:title="@string/home_settings_category" />
<header android:icon="@drawable/APKTOOL_DUMMY_0150" android:id="@id/home_settings" android:title="@string/home_settings_header" android:fragment="com.android.settings.HomeSettings" />
<header android:title="@string/header_category_wireless_networks" />
<header android:icon="@drawable/APKTOOL_DUMMY_013c" android:id="@id/airplane_mode" android:title="@string/airplane_mode" android:fragment="com.android.settings.AirplaneModeSettings" />
<header android:icon="@drawable/ic_settings_wireless" android:id="@id/wifi_settings" android:title="@string/wifi_settings_title" android:fragment="com.android.settings.wifi.WifiSettings" />
<header android:icon="@drawable/ic_mobilehotspot" android:id="@id/wifi_ap_settings" android:title="@string/wifi_tether_checkbox_text" android:fragment="com.android.settings.wifi.mobileap.WifiApSettings" />
<header android:icon="@drawable/ic_settings_sprint_hotspot" android:id="@id/wifi_sprinthotspot_settings" android:title="@string/wifi_tether_checkbox_text" android:fragment="com.android.settings.wifi.mobileap.WifiApSettings" />
<header android:icon="@drawable/ic_settings_bluetooth2" android:id="@id/bluetooth_settings" android:title="@string/bluetooth_settings_title" android:fragment="com.android.settings.bluetooth.BluetoothSettings" />
<header android:icon="@drawable/ic_settings_data_usage" android:id="@id/data_usage_settings" android:title="@string/data_usage_summary_title" android:fragment="com.android.settings.DataUsageSummary" />
<header android:icon="@drawable/ic_settings_roaming" android:id="@id/global_roaming_settings" android:title="@string/lgt_service_global_auto_roaming" android:fragment="com.android.settings.GlobalRoamingSettings" />
<header android:id="@id/operator_settings" android:fragment="com.android.settings.WirelessSettings">
<intent android:action="com.android.settings.OPERATOR_APPLICATION_SETTING" />
</header>
<header android:icon="@drawable/ic_settings_more" android:id="@id/wireless_settings" android:title="@string/more_settings" android:fragment="com.android.settings.WirelessSettings" android:breadCrumbTitle="@string/wireless_networks_settings_title" />
<header android:icon="@drawable/ic_settings_nearby_device" android:id="@id/header_nearby_settings" android:title="@string/allshare_nearby" android:fragment="com.android.settings.nearby.NearbySettings" android:breadCrumbTitle="@string/allshare_nearby" />
<header android:title="@string/header_category_device" />
<header android:icon="@drawable/ic_settings_easy_mode" android:id="@id/easy_mode_settings" android:title="@string/mode_change_title" android:fragment="com.android.settings.EasyModeSettings" />
<header android:icon="@drawable/ic_settings_dormant_mode" android:id="@id/dormant_mode" android:title="@string/dormant_mode" android:fragment="com.android.settings.dormantmode.DormantmodeSettings" />
<header android:icon="@drawable/ic_settings_sim_card_manager" android:id="@id/simcard_management" android:title="@string/sim_card_management_ds">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.NetworkManagement" />
</header>
<header android:icon="@drawable/ic_settings_sound" android:id="@id/sound_settings" android:title="@string/sound_settings" android:fragment="com.android.settings.SoundSettings" />
<header android:icon="@drawable/ic_settings_display" android:id="@id/display_settings" android:title="@string/display_settings" android:fragment="com.android.settings.DisplaySettings" />
<header android:icon="@drawable/ic_settings_block" android:id="@id/block_settings" android:title="@string/block_settings_title" android:fragment="com.android.settings.BlockSettings" />
<header android:icon="@drawable/APKTOOL_DUMMY_0153" android:id="@id/customizable_key" android:title="@string/customizable_key_title" android:fragment="com.android.settings.customizablekey.CustomizableKeySettings" />
<header android:icon="@drawable/ic_settings_storage" android:id="@id/storage_settings" android:title="@string/storage_settings" android:fragment="com.android.settings.deviceinfo.Memory" />
<header android:icon="@drawable/ic_settings_powersaving" android:id="@id/power_saving_mode" android:title="@string/power_saving_mode_title" android:fragment="com.android.settings.powersavingmode.MenuPowerSavingModeSettings" />
<header android:icon="@drawable/ic_settings_power" android:id="@id/power_settings" android:title="@string/power_title" android:fragment="com.android.settings.PowerSettings" />
<header android:icon="@drawable/ic_settings_battery" android:id="@id/battery_settings" android:title="@string/power_usage_summary_title" android:fragment="com.android.settings.fuelgauge.PowerUsageSummary" />
<header android:icon="@drawable/ic_settings_applications" android:id="@id/application_settings" android:title="@string/applications_settings" android:fragment="com.android.settings.applications.ManageApplications" />
<header android:id="@id/manufacturer_settings" android:fragment="com.android.settings.WirelessSettings">
<intent android:action="com.android.settings.MANUFACTURER_APPLICATION_SETTING" />
</header>
<header android:title="@string/header_category_personal" />
<header android:icon="@drawable/APKTOOL_DUMMY_014b" android:id="@id/docomoservice_settings" android:title="@string/docomoservice_settings">
<intent android:targetPackage="com.nttdocomo.android.docomoset" android:action="android.intent.action.MAIN" android:targetClass="com.nttdocomo.android.docomoset.DocomoServiceSetting" />
</header>
<header android:icon="@drawable/ic_settings_sync" android:id="@id/user_settings" android:title="@string/user_settings_title" android:fragment="com.android.settings.users.UserSettings" />
<header android:icon="@drawable/ic_settings_location" android:id="@id/location_settings" android:title="@string/location_settings_title" android:fragment="com.android.settings.LocationSettings" />
<header android:icon="@drawable/ic_settings_lockscreen_menu" android:id="@id/lock_screen_menu_settings" android:title="@string/lockscreen_wallpaper" android:fragment="com.android.settings.LockscreenMenuSettings" />
<header android:icon="@drawable/ic_settings_security" android:id="@id/security_settings" android:title="@string/security_settings_title" android:fragment="com.android.settings.SecuritySettings" />
<header android:icon="@drawable/ic_settings_customizedkey" android:id="@id/customizedkey_settings" android:title="@string/customizedkey_settings_title">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.customizedkey.CustomizedKeySettings" />
</header>
<header android:icon="@drawable/APKTOOL_DUMMY_015a" android:id="@id/onehand_settings" android:title="@string/onehand_settings_title" android:fragment="com.android.settings.OneHandSettings" />
<header android:icon="@drawable/ic_settings_language" android:id="@id/language_settings" android:title="@string/language_settings" android:fragment="com.android.settings.inputmethod.InputMethodAndLanguageSettings" />
<header android:icon="@drawable/ic_settings_cloud" android:id="@id/scloud_settings" android:title="@string/scloud_settings" android:fragment="com.android.settings.cloud.CloudSettingsMainFragment" />
<header android:icon="@drawable/ic_settings_backup" android:id="@id/privacy_settings" android:title="@string/privacy_settings" android:fragment="com.android.settings.PrivacySettings" />
<header android:id="@id/account_settings" android:title="@string/account_settings" />
<header android:icon="@drawable/backup_assistant_icon" android:id="@id/bua_plus" android:title="@string/bua_plus_title">
<intent android:action="com.samsung.vmmhux.ACTION_VMMHUX_SETUPWIZARD" />
</header>
<header android:icon="@drawable/ic_menu_add" android:id="@id/account_add" android:title="@string/add_account_label">
<intent android:action="android.settings.ADD_ACCOUNT_SETTINGS" />
</header>
<header android:title="@string/header_category_system" />
<header android:icon="@drawable/ic_settings_motion" android:id="@id/motion_settings" android:title="@string/motion_title" android:fragment="com.android.settings.motion.MotionSettings" />
<header android:icon="@drawable/ic_settings_motion" android:id="@id/s_motion_settings" android:title="@string/s_motion_title" android:fragment="com.android.settings.motion2013.SMotionSettings" />
<header android:icon="@drawable/APKTOOL_DUMMY_014e" android:id="@id/finger_air_view_settings" android:title="@string/finger_air_view_title" android:fragment="com.android.settings.FingerAirViewSettings" />
<header android:icon="@drawable/APKTOOL_DUMMY_0162" android:id="@id/dualmode_settings" android:title="@string/sim_card_management">
<intent android:action="com.welgate.DualmodeSetting.DUALMODESETTING_START" />
</header>
<header android:icon="@drawable/APKTOOL_DUMMY_0162" android:id="@id/dualSlot_settings" android:title="@string/dual_standby_management">
<intent android:action="settings.SIM_CARD_NETWORK" />
</header>
<header android:icon="@drawable/ic_settings_pen" android:id="@id/pen_settings_menu" android:title="@string/pen_settings_title" android:fragment="com.android.settings.PenSettingsMenu" />
<header android:icon="@drawable/ic_settings_dock" android:id="@id/dock_settings" android:title="@string/accessory" android:fragment="com.android.settings.DockSettings" />
<header android:icon="@drawable/ic_settings_hdmi" android:id="@id/hdmi_settings" android:title="@string/hdmi" android:fragment="com.android.settings.DockSettings" />
<header android:icon="@drawable/ic_settings_usb_vzw" android:id="@id/usb_settings" android:title="@string/usb_settings_title" android:fragment="com.android.settings.deviceinfo.UsbSettings" />
<header android:icon="@drawable/ic_settings_date_time" android:id="@id/date_time_settings" android:title="@string/date_and_time_settings_title" android:fragment="com.android.settings.DateTimeSettings" />
<header android:icon="@drawable/ic_settings_accessibility" android:id="@id/accessibility_settings" android:title="@string/accessibility_settings" android:fragment="com.android.settings.AccessibilitySettings" />
<header android:icon="@drawable/ic_settings_development" android:id="@id/development_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />
<header android:icon="@drawable/ic_settings_development" android:id="@id/development_settings_orange" android:title="@string/development_settings_title_orange" android:fragment="com.android.settings.DevelopmentSettings" />
<header android:icon="@drawable/ic_settings_activate_device" android:id="@id/activate_this_device" android:title="@string/activate_this_device" android:fragment="com.android.settings.ActivateThisDevice" />
<header android:icon="@drawable/ic_settings_system_update" android:id="@id/system_update" android:title="@string/system_update" android:fragment="com.android.settings.SprintUpdateSettings" />
<header android:icon="@drawable/ic_settings_about" android:id="@id/about_settings" android:title="@string/about_settings" android:fragment="com.android.settings.DeviceInfoSettings" />
</preference-headers>
I manage like this
ipul_account.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header android:title="Input and control" />
<header android:icon="@drawable/ic_settings_language" android:id="@id/language_settings" android:title="@string/language_settings" android:fragment="com.android.settings.inputmethod.InputMethodAndLanguageSettings" />
<header android:icon="@drawable/ic_settings_motion" android:id="@id/motion_settings" android:title="@string/motion_title" android:fragment="com.android.settings.motion.MotionSettings" />
<header android:id="@id/account_settings" android:title="My accounts" />
<header android:icon="@drawable/ic_menu_add" android:id="@id/account_add" android:title="@string/add_account_label">
<intent android:action="android.settings.ADD_ACCOUNT_SETTINGS" />
</header>
<header android:title="Backup options" />
<header android:icon="@drawable/ic_settings_backup" android:id="@id/privacy_settings" android:title="@string/privacy_settings" android:fragment="com.android.settings.PrivacySettings" />
</preference-headers>
ipul_connect.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header android:title="@string/header_category_wireless_networks" />
<header android:icon="@drawable/ic_settings_wireless" android:id="@id/wifi_settings" android:title="@string/wifi_settings_title" android:summary="@string/tap_to_configure" android:fragment="com.android.settings.wifi.WifiSettings" />
<header android:icon="@drawable/ic_settings_bluetooth2" android:id="@id/bluetooth_settings" android:title="@string/bluetooth_settings_title" android:summary="@string/tap_to_configure" android:fragment="com.android.settings.bluetooth.BluetoothSettings" />
<header android:icon="@drawable/ic_settings_data_usage" android:id="@id/data_usage_settings" android:title="@string/data_usage_summary_title" android:fragment="com.android.settings.DataUsageSummary" />
<header android:icon="@drawable/ic_settings_more" android:id="@id/wireless_settings" android:title="@string/more_settings" android:fragment="com.android.settings.WirelessSettings" android:breadCrumbTitle="@string/wireless_networks_settings_title" />
<header android:icon="@drawable/ic_settings_location" android:id="@id/location_settings" android:title="@string/location_settings_title" android:fragment="com.android.settings.LocationSettings" />
</preference-headers>
ipul_device.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header android:title="Personal" />
<header android:icon="@drawable/ic_settings_lockscreen_menu" android:id="@id/lock_screen_menu_settings" android:title="@string/lockscreen_wallpaper" android:fragment="com.android.settings.LockscreenMenuSettings" />
<header android:icon="@drawable/ic_settings_display" android:id="@id/display_settings" android:title="@string/display_settings" android:fragment="com.android.settings.DisplaySettings" />
<header android:icon="@drawable/ic_settings_sound" android:id="@id/sound_settings" android:title="@string/sound_settings" android:fragment="com.android.settings.SoundSettings" />
<header android:icon="@drawable/ic_settings_easy_mode" android:id="@id/easy_mode_settings" android:title="@string/mode_change_title" android:fragment="com.android.settings.EasyModeSettings" />
<header android:icon="@drawable/ic_settings_dormant_mode" android:id="@id/dormant_mode" android:title="@string/dormant_mode" android:fragment="com.android.settings.dormantmode.DormantmodeSettings" />
<header android:icon="@drawable/ic_settings_accessibility" android:id="@id/accessibility_settings" android:title="@string/accessibility_settings" android:fragment="com.android.settings.AccessibilitySettings" />
<header android:icon="@drawable/ic_settings_applications" android:id="@id/application_settings" android:title="@string/applications_settings" android:fragment="com.android.settings.applications.ManageApplications" />
<header android:icon="@drawable/ic_settings_security" android:id="@id/security_settings" android:title="@string/security_settings_title" android:fragment="com.android.settings.SecuritySettings" />
</preference-headers>
ipul_more.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header android:title="System manager" />
<header android:icon="@drawable/ic_settings_battery" android:id="@id/battery_settings" android:title="@string/power_usage_summary_title" android:fragment="com.android.settings.fuelgauge.PowerUsageSummary" />
<header android:icon="@drawable/ic_settings_storage" android:id="@id/storage_settings" android:title="@string/storage_settings" android:fragment="com.android.settings.deviceinfo.Memory" />
<header android:icon="@drawable/ic_settings_date_time" android:id="@id/date_time_settings" android:title="@string/date_and_time_settings_title" android:fragment="com.android.settings.DateTimeSettings" />
<header android:icon="@drawable/ic_settings_development" android:id="@id/development_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />
<header android:icon="@drawable/ic_settings_about" android:id="@id/about_settings" android:title="@string/about_settings" android:fragment="com.android.settings.DeviceInfoSettings" />
</preference-headers>
Reserved
Pertamax sir...
bamzzz said:
Pertamax sir...
Click to expand...
Click to collapse
:laugh: Thank you sir :highfive:
I'm stuck at Step 2. For some reason, after compiling and signing SecSettings.apk, it doesn't work on my phone. I get a Parsing error and the apk doesn't work. I will re-do it again and see if that solves my problem but just for my reference, is this the exact way you did it and is there any chances incompatible smali files that could have caused this issue I'm having?
Thanks in advance.
Sami Kabir said:
I'm stuck at Step 2. For some reason, after compiling and signing SecSettings.apk, it doesn't work on my phone. I get a Parsing error and the apk doesn't work. I will re-do it again and see if that solves my problem but just for my reference, is this the exact way you did it and is there any chances incompatible smali files that could have caused this issue I'm having?
Thanks in advance.
Click to expand...
Click to collapse
Something is forgotten on my guide sir,,, please Check com/android/settings/
if your phone have Settings$1.smali, Settings$2.smali and Settings$3smali, I will attach file Settings$3.smali, AppSettings$3.smali, CyanSettings$3.smali, DeviceSettings$3.smali, PersonalSettings$3.smali
And STEP-2 is ticky part to match public id's
I have tested on two device with Stock JB 4.1.2, Galasy Young GT-S6310 and Galaxy S3 Mini, it's work perfecly,,
But there is a difference in two device, for Galaxy Young there are Settings$1.smali, Settings$2.smali and Settings$3.smali
but Galaxy S3 Mini just have Settings.$1.smali and Settings$2.smali
Sorry bad English
Press thanks if help :angel:
Click to expand...
Click to collapse
syaeful said:
Something is forgotten on my guide sir,,, please Check com/android/settings/
if your phone have Settings$1.smali, Settings$2.smali and Settings$3smali, I will attach file Settings$3.smali, AppSettings$3.smali, CyanSettings$3.smali, DeviceSettings$3.smali, PersonalSettings$3.smali
And STEP-2 is ticky part to match public id's
Click to expand...
Click to collapse
syaeful said:
I have tested on two device with Stock JB 4.1.2, Galasy Young GT-S6310 and Galaxy S3 Mini, it's work perfecly,,
But there is a difference in two device, for Galaxy Young there are Settings$1.smali, Settings$2.smali and Settings$3.smali
but Galaxy S3 Mini just have Settings.$1.smali and Settings$2.smali
Click to expand...
Click to collapse
Hmm yes, I do have Settings$3.smali too. I know Step 2 is a little tricky. I have spent a lot of time and I carefully replaced all the IDs from my public.xml, so I don't think that's the problem. But yes, I will re-do this from the beginning again, very soon
Sami Kabir said:
Hmm yes, I do have Settings$3.smali too. I know Step 2 is a little tricky. I have spent a lot of time and I carefully replaced all the IDs from my public.xml, so I don't think that's the problem. But yes, I will re-do this from the beginning again, very soon
Click to expand...
Click to collapse
good luck sir
I might just be able to help a little bit, because I am still a beginner smali knowledge
Maybe tommorow I will share too, how to make MIUI Settings, many people confused follow guide from sir Adi Aisiteru, because base guide from CM. I manage to work on touchwiz. It's more easy. like this
syaeful said:
Something is forgotten on my guide sir,,, please Check com/android/settings/
if your phone have Settings$1.smali, Settings$2.smali and Settings$3smali, I will attach file Settings$3.smali, AppSettings$3.smali, CyanSettings$3.smali, DeviceSettings$3.smali, PersonalSettings$3.smali
Click to expand...
Click to collapse
Hello. When will you share those smali files? And are you planning on making a similar guide for MIUI style tabbed Settings too?
Sami Kabir said:
Hello. When will you share those smali files? And are you planning on making a similar guide for MIUI style tabbed Settings too?
Click to expand...
Click to collapse
Sorry for slow respon sir... I was busy working out. this is Settings$3.smali sir : Settings$3.smali
and for MIUI Style can found here sir : http://forum.xda-developers.com/gal...ting-jb-4-1-2-touchwiz-t2908858#post56088490;)
can anybody make it a flashable zip??
BrokenNecklace said:
can anybody make it a flashable zip??
Click to expand...
Click to collapse
for S3 Mini?
You can get it from here: http://forum.xda-developers.com/galaxy-s3-mini/themes-apps/mod-t2882766 (but its not flashable)
@syaeful Wow
I would never have believed it was possible to portage double pannel shortcuts tiles included after 4.1.2, and then I say bravo!
Rom said:
@syaeful Wow
I would never have believed it was possible to portage double pannel shortcuts tiles included after 4.1.2, and then I say bravo!
Click to expand...
Click to collapse
yess.. thank you bro :highfive:
maybe you can test too this guide
syaeful said:
yess.. thank you bro :highfive:
maybe you can test too this guide
Click to expand...
Click to collapse
This menu does not interest me, otherwise I would have already put the screenshoots this morning at least :good:
Rom said:
This menu does not interest me, otherwise I would have already put the screenshoots this morning at least :good:
Click to expand...
Click to collapse
Sure?
Thanks I hope that others will try it, so I can know if this works for other devices with the basic 4.1.2
Help Needed
I quite didnt understand the 2nd step clearly..can anyone help me,... it was mentioned to replace the f****** code in tab activity with the one in public.xml it of ipul_indikator... and we have to do the same for 12 such ids ... so do we have to paste the id of ipul_indikator in the entire f***** in tabactivity.smali ??
plz help... thanx
Here's what I did:
- Decompile SystemUI.
- Create 2 xml drawable files, one for status bar,
Code:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#ff607d8b" android:endColor="#ff121518" android:angle="270" />
<stroke android:width="1.0dip" android:color="#ffbdbdbd" />
<corners android:radius="-10.0dip" />
<padding android:bottom="-2dip" />
</shape>
And one for navigation bar,
Code:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#ff607d8b" android:endColor="#ff121518" android:angle="90" />
<stroke android:width="1.0dip" android:color="#ffbdbdbd" />
<corners android:radius="-10.0dip" />
<padding android:top="-2dip" />
</shape>
(Note the difference; the gradient radius of one is 180 degrees different than the other, so the gradients work towards each other from the edges, and the negative padding is on the top for the navigation bar, but the bottom for the status bar, because I wanted the 'stroke' to show on the edge of the screen only.)
Name them whatever you want, and copy the 2 files to /res/drawable.
- Open /res/layout/status_bar xml, and find
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents"
and after that, add 'android:background="@drawable/(name of status bar file)'.
- Open res/layout/navigation_layout.xml and find
Code:
<FrameLayout android:id="@id/nav_buttons"
and do the same thing, but using the name of your navigation bar file.
(you may have to do the same to 'navigation_bar.xml and/or 'navigation_layout_rot90'. I did it just in case, but not sure if necessary)
- Recompile, sign, push, reboot.
My files are attached, but you can edit or mod or make your own however you want...
Note: If your status bar background is too small on lock screen, go to /res/values/dimens.xml, and find
Code:
<dimen name="status_bar_header_height_keyguard">32.0dip</dimen>
and make it smaller, like 32 instead of 40...
Variation -
Status bar
Code:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="90"
android:startColor="#1a000000"
android:endColor="#ff297aff"
android:type="linear" />
<size android:width="24dp"
android:height="24dp"/>
</shape>
</item>
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp">
<shape android:shape="rectangle" >
<gradient
android:angle="90"
android:startColor="#1a121518"
android:endColor="#66121518"
android:centerColor="#d978909c"
android:type="linear" />
</shape>
</item>
</layer-list>
Nav bar
Code:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:startColor="#1a000000"
android:endColor="#ff297aff"
android:type="linear" />
<size android:width="24dp"
android:height="24dp"/>
</shape>
</item>
<item
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp">
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:startColor="#1a121518"
android:endColor="#66121518"
android:centerColor="#d978909c"
android:type="linear" />
</shape>
</item>
</layer-list>
- Screenshot 1 and 2 -
(Note - I don't think 'size' line is important here. I used it for something else, and just decided to leave it...)
Adjust as you like...
_____________
If you like rounded corners
Status bar
Code:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="90"
android:startColor="#1a000000"
android:endColor="#ff297aff"
android:type="linear" />
[COLOR="red"]<corners android:topLeftRadius="20.0dip" android:topRightRadius="20.0dip" />[/COLOR]
</shape>
</item>
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp">
<shape android:shape="rectangle" >
<gradient
android:angle="90"
android:startColor="#1a121518"
android:endColor="#66121518"
android:centerColor="#d978909c"
android:type="linear" />
[COLOR="red"]<corners android:topLeftRadius="20.0dip" android:topRightRadius="20.0dip" />[/COLOR]
</shape>
</item>
</layer-list>
(lines in red)
Nav bar
Code:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:startColor="#1a000000"
android:endColor="#ff297aff"
android:type="linear" />
[COLOR="red"]<corners android:bottomLeftRadius="20.0dip" android:bottomRightRadius="20.0dip" />[/COLOR]
</shape>
</item>
<item
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp">
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:startColor="#1a121518"
android:endColor="#66121518"
android:centerColor="#d978909c"
android:type="linear" />
[COLOR="red"]<corners android:bottomLeftRadius="20.0dip" android:bottomRightRadius="20.0dip" />[/COLOR]
</shape>
</item>
</layer-list>
- Screenshot 3 and 4 -
how can i have a rounded corner status bar & nav bar?
is it tha xmls on tha first post i ll use or what brov?
i just want tha rounded corner.
whalesplaho said:
how can i have a rounded corner status bar & nav bar?
is it tha xmls on tha first post i ll use or what brov?
i just want tha rounded corner.
Click to expand...
Click to collapse
You can do this
Code:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1.0dip" android:color="#(whatever you want)" />
<corners android:bottomLeftRadius="(whatever you want)" android:bottomRightRadius="(whatever you want)" />
</shape>
Or Roundr - https://play.google.com/store/apps/...app&pcampaignid=APPU_1_BVR0WvTWO4TykwW06r_4DA
levone1 said:
You can do this
Code:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1.0dip" android:color="#(whatever you want)" />
<corners android:bottomLeftRadius="(whatever you want)" android:bottomRightRadius="(whatever you want)" />
</shape>
Or Roundr - https://play.google.com/store/apps/...app&pcampaignid=APPU_1_BVR0WvTWO4TykwW06r_4DA
Click to expand...
Click to collapse
I prefer tha modding style but I dnt know where to add that code buddy...
Thanks.
whalesplaho said:
I prefer tha modding style but I dnt know where to add that code buddy...
Thanks.
Click to expand...
Click to collapse
Follow op of this thread - Make an xml, put it in drawable folder of systemui, then add 'android:background...' code to status bar and nav bar layouts. Note that for status bar, you want round corners on top, and for nav bar on bottom, ('topLeftRadius' + 'topRightRadius' vs. 'bottomLeftRadius' + 'bottomRightRadius')...
Lemme try modding and see tha outcome buddy....