[Q] HTC One M7 Media Profiles and Encoders - One (M7) Q&A, Help & Troubleshooting

Dear Devs,
I have just taken a look at the media_profiles.xml and media_codecs.xml and it seems that the HTC One M7 is capable of recording videos in divx format, but seems to be deactivated from HTC side:
media_codecs.xml
Code:
<!--
<MediaCodec name="OMX.qcom.video.decoder.divx" type="video/divx" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="defers-output-buffer-allocation" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.divx311" type="video/divx311" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="defers-output-buffer-allocation" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.divx4" type="video/divx4" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="defers-output-buffer-allocation" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="defers-output-buffer-allocation" />
</MediaCodec>
-->
Does anyone have experience with this in trying to enable it?

Related

[DEV][Q] What's wrong with Sense GSM

Hi folks I want to ask. As you can see,I'm trying to port decently Sense ROM to P500. But GSM isn't working. For making it work i tried to use and import the following libs from devoid:
Code:
[B]/system/lib[/B]
libril-qc-1.so
liboncrpc.so
libdsm.so
libqueue.so
libdiag.so
libauth.so
libcm.so
libnv.so
libpbmlib.so
libwms.so
libwmsts.so
libmmgsdilib.so
libgsdi_exp.so
libgstk_exp.so
libril-qcril-hook-oem.so
liboem_rapi.so
libsnd.so
libqmi.so
libdll.so
liblgeat.so
liblgdrm.so
liblgdrmwbxml.so
liblgerft.so
libbcmwl.so
libdss.so
[B]/system/bin[/B]
rild
But nothing. Mik also gave me a link of his sources,telling me that maybe I had to add some lg proprietary things.
Code:
[B]/system/bin[/B]
qmuxd
rmt_storage
port-bridge
wiperiface
tsdown
netmgrd
[B]/system/etc[/B]
MELFAS_FIRM.bin (I know it's a TS thang,but just to be sure...)
[B]/system/lib[/B]
libsdutils.so
libnetmgr.so
Did I miss something? I don't think so. I've imported all libs specified here.
It's impossible! GSM Still isn't working. I'm now thinking it's a permission problem,found this in logcat:
Code:
W/PackageManager( 1405): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.htc.android.locationpicker
W/PackageManager( 1405): Unknown permission android.permission.ACCESS_NETWORK_LOCATION in package com.htc.htcsettingwidgets
E/ConnectivityService( 1405): Error in networkAttributes - ignoring attempt to adopt radio 6
Any ideas?
Zecanilis made a mistake here. Why moving it to general section? I'm talking about a PORTING,which is a DEV thing.
Sent from my LG Optimus One P500 using XDA App
ciaox said:
Zecanilis made a mistake here. Why moving it to general section? I'm talking about a PORTING,which is a DEV thing.
I agree. Why? This is made by a dev who is talking dev. +1 to moving this back.
Sent from my LG Optimus One P500 using XDA App
Click to expand...
Click to collapse
Sent from my LG-P500 using XDA App
I think I know a solution, will look into it and if I'm right I'll let you know.
Sent from my LG-P500 using XDA App
Like I thought, in /system/etc/permissions/ this permission is missing, adding it to platform.xml perhaps solves it.
_Arjen_ said:
Like I thought, in /system/etc/permissions/ this permission is missing, adding it to platform.xml perhaps solves it.
Click to expand...
Click to collapse
I will let you know,thanks. If it doesn't work,I really don't know how to solve it,because I've tried it all.
Ok here's my platform.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 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.
-->
<!-- This file is used to define the mappings between lower-level system
user and group IDs and the higher-level permission names managed
by the platform.
Be VERY careful when editing this file! Mistakes made here can open
big security holes.
-->
<permissions>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are associating low-level group IDs with
permission names. By specifying such a mapping, you are saying
that any application process granted the given permission will
also be running with the given group ID attached to its process,
so it can perform any filesystem (read, write, execute) operations
allowed for that group. -->
<permission name="android.permission.BLUETOOTH_ADMIN" >
<group gid="net_bt_admin" />
</permission>
<permission name="android.permission.BLUETOOTH" >
<group gid="net_bt" />
</permission>
<permission name="android.permission.INTERNET" >
<group gid="inet" />
</permission>
<permission name="android.permission.CAMERA" >
<group gid="camera" />
</permission>
<permission name="android.permission.READ_LOGS" >
<group gid="log" />
</permission>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
</permission>
<!-- The group that /cache belongs to, linked to the permission
set on the applications that can access /cache -->
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM" >
<group gid="cache" />
</permission>
<!-- RW permissions to any system resources owned by group 'diag'.
This is for carrier and manufacture diagnostics tools that must be
installable from the framework. Be careful. -->
<permission name="android.permission.DIAGNOSTIC" >
<group gid="input" />
<group gid="diag" />
</permission>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are assigning high-level permissions to specific
user IDs. These are used to allow specific core system users to
perform the given operations with the higher-level framework. For
example, we give a wide variety of permissions to the shell user
since that is the user the adb shell runs under and developers and
others should have a fairly open environment in which to
interact with the system. -->
<!-- Standard permissions granted to the shell. -->
<assign-permission name="android.permission.WRITE_EXTERNAL_STORAGE" uid="shell" />
<assign-permission name="android.permission.SEND_SMS" uid="shell" />
<assign-permission name="android.permission.CALL_PHONE" uid="shell" />
<assign-permission name="android.permission.READ_CONTACTS" uid="shell" />
<assign-permission name="android.permission.WRITE_CONTACTS" uid="shell" />
<assign-permission name="android.permission.READ_OWNER_DATA" uid="shell" />
<assign-permission name="android.permission.WRITE_OWNER_DATA" uid="shell" />
<assign-permission name="android.permission.READ_CALENDAR" uid="shell" />
<assign-permission name="android.permission.WRITE_CALENDAR" uid="shell" />
<assign-permission name="android.permission.READ_USER_DICTIONARY" uid="shell" />
<assign-permission name="android.permission.WRITE_USER_DICTIONARY" uid="shell" />
<assign-permission name="android.permission.ACCESS_FINE_LOCATION" uid="shell" />
<assign-permission name="android.permission.ACCESS_COARSE_LOCATION" uid="shell" />
<assign-permission name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" uid="shell" />
<assign-permission name="android.permission.ACCESS_NETWORK_STATE" uid="shell" />
<assign-permission name="android.permission.ACCESS_WIFI_STATE" uid="shell" />
<assign-permission name="android.permission.BLUETOOTH" uid="shell" />
<!-- System tool permissions granted to the shell. -->
<assign-permission name="android.permission.GET_TASKS" uid="shell" />
<assign-permission name="android.permission.CHANGE_CONFIGURATION" uid="shell" />
<assign-permission name="android.permission.REORDER_TASKS" uid="shell" />
<assign-permission name="android.permission.SET_ANIMATION_SCALE" uid="shell" />
<assign-permission name="android.permission.SET_PREFERRED_APPLICATIONS" uid="shell" />
<assign-permission name="android.permission.WRITE_SETTINGS" uid="shell" />
<assign-permission name="android.permission.WRITE_SECURE_SETTINGS" uid="shell" />
<assign-permission name="android.permission.BROADCAST_STICKY" uid="shell" />
<!-- Development tool permissions granted to the shell. -->
<assign-permission name="android.permission.SET_DEBUG_APP" uid="shell" />
<assign-permission name="android.permission.SET_PROCESS_LIMIT" uid="shell" />
<assign-permission name="android.permission.SET_ALWAYS_FINISH" uid="shell" />
<assign-permission name="android.permission.DUMP" uid="shell" />
<assign-permission name="android.permission.SIGNAL_PERSISTENT_PROCESSES" uid="shell" />
<!-- Internal permissions granted to the shell. -->
<assign-permission name="android.permission.FORCE_BACK" uid="shell" />
<assign-permission name="android.permission.BATTERY_STATS" uid="shell" />
<assign-permission name="android.permission.INTERNAL_SYSTEM_WINDOW" uid="shell" />
<assign-permission name="android.permission.INJECT_EVENTS" uid="shell" />
<assign-permission name="android.permission.SET_ACTIVITY_WATCHER" uid="shell" />
<assign-permission name="android.permission.READ_INPUT_STATE" uid="shell" />
<assign-permission name="android.permission.SET_ORIENTATION" uid="shell" />
<assign-permission name="android.permission.INSTALL_PACKAGES" uid="shell" />
<assign-permission name="android.permission.CLEAR_APP_USER_DATA" uid="shell" />
<assign-permission name="android.permission.DELETE_CACHE_FILES" uid="shell" />
<assign-permission name="android.permission.DELETE_PACKAGES" uid="shell" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="shell" />
<assign-permission name="android.permission.READ_FRAME_BUFFER" uid="shell" />
<assign-permission name="android.permission.DEVICE_POWER" uid="shell" />
<assign-permission name="android.permission.INSTALL_LOCATION_PROVIDER" uid="shell" />
<assign-permission name="android.permission.BACKUP" uid="shell" />
<assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
<assign-permission name="android.permission.ACCESS_DRM" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="graphics" />
<!-- This is a list of all the libraries available for application
code to link against. -->
<library name="android.test.runner"
file="/system/framework/android.test.runner.jar" />
<library name="javax.obex"
file="/system/framework/javax.obex.jar"/>
<!-- HTC PIM library (Contacts / Calendar / Mail / Sync ...) -->
<library name="com.htc.android.pimlib"
file="/system/framework/com.htc.android.pimlib.jar"/>
<!-- HTC EAS shared library (for OpenSource parts) -->
<library name="com.htc.android.easopen"
file="/system/framework/com.htc.android.easopen.jar"/>
<!-- add by Justin_Liu, for scalado library -->
<library name="com.scalado.util.ScaladoUtil"
file="/system/framework/com.scalado.util.ScaladoUtil.jar"/>
</permissions>
So,I need to add something like this:
Code:
<permission name="android.permission.ACCESS_NETWORK_LOCATION" >
<group gid="sdcard_rw" />
</permission>
But,I also need to change "group gid". Any idea of what I need to put in that "group gid"?
Also I found some other interesting things. I found this in platform.xml:
Code:
<assign-permission name="android.permission.WRITE_EXTERNAL_STORAGE" uid="shell" />
<assign-permission name="android.permission.SEND_SMS" uid="shell" />
<assign-permission name="android.permission.CALL_PHONE" uid="shell" />
<assign-permission name="android.permission.READ_CONTACTS" uid="shell" />
<assign-permission name="android.permission.WRITE_CONTACTS" uid="shell" />
<assign-permission name="android.permission.READ_OWNER_DATA" uid="shell" />
<assign-permission name="android.permission.WRITE_OWNER_DATA" uid="shell" />
<assign-permission name="android.permission.READ_CALENDAR" uid="shell" />
<assign-permission name="android.permission.WRITE_CALENDAR" uid="shell" />
<assign-permission name="android.permission.READ_USER_DICTIONARY" uid="shell" />
<assign-permission name="android.permission.WRITE_USER_DICTIONARY" uid="shell" />
<assign-permission name="android.permission.ACCESS_FINE_LOCATION" uid="shell" />
<assign-permission name="android.permission.ACCESS_COARSE_LOCATION" uid="shell" />
<assign-permission name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" uid="shell" />
<assign-permission name="android.permission.[B]ACCESS_NETWORK_STATE[/B]" uid="shell" />
<assign-permission name="android.permission.ACCESS_WIFI_STATE" uid="shell" />
<assign-permission name="android.permission.BLUETOOTH" uid="shell" />
<!-- System tool permissions granted to the shell. -->
<assign-permission name="android.permission.GET_TASKS" uid="shell" />
<assign-permission name="android.permission.CHANGE_CONFIGURATION" uid="shell" />
<assign-permission name="android.permission.REORDER_TASKS" uid="shell" />
<assign-permission name="android.permission.SET_ANIMATION_SCALE" uid="shell" />
<assign-permission name="android.permission.SET_PREFERRED_APPLICATIONS" uid="shell" />
<assign-permission name="android.permission.WRITE_SETTINGS" uid="shell" />
<assign-permission name="android.permission.WRITE_SECURE_SETTINGS" uid="shell" />
<assign-permission name="android.permission.BROADCAST_STICKY" uid="shell" />
<!-- Development tool permissions granted to the shell. -->
<assign-permission name="android.permission.SET_DEBUG_APP" uid="shell" />
<assign-permission name="android.permission.SET_PROCESS_LIMIT" uid="shell" />
<assign-permission name="android.permission.SET_ALWAYS_FINISH" uid="shell" />
<assign-permission name="android.permission.DUMP" uid="shell" />
<assign-permission name="android.permission.SIGNAL_PERSISTENT_PROCESSES" uid="shell" />
<!-- Internal permissions granted to the shell. -->
<assign-permission name="android.permission.FORCE_BACK" uid="shell" />
<assign-permission name="android.permission.BATTERY_STATS" uid="shell" />
<assign-permission name="android.permission.INTERNAL_SYSTEM_WINDOW" uid="shell" />
<assign-permission name="android.permission.INJECT_EVENTS" uid="shell" />
<assign-permission name="android.permission.SET_ACTIVITY_WATCHER" uid="shell" />
<assign-permission name="android.permission.READ_INPUT_STATE" uid="shell" />
<assign-permission name="android.permission.SET_ORIENTATION" uid="shell" />
<assign-permission name="android.permission.INSTALL_PACKAGES" uid="shell" />
<assign-permission name="android.permission.CLEAR_APP_USER_DATA" uid="shell" />
<assign-permission name="android.permission.DELETE_CACHE_FILES" uid="shell" />
<assign-permission name="android.permission.DELETE_PACKAGES" uid="shell" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="shell" />
<assign-permission name="android.permission.READ_FRAME_BUFFER" uid="shell" />
<assign-permission name="android.permission.DEVICE_POWER" uid="shell" />
<assign-permission name="android.permission.INSTALL_LOCATION_PROVIDER" uid="shell" />
<assign-permission name="android.permission.BACKUP" uid="shell" />
<assign-permission name="android.permission.MODIFY_AUDIO_SETTINGS" uid="media" />
<assign-permission name="android.permission.ACCESS_DRM" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="media" />
<assign-permission name="android.permission.ACCESS_SURFACE_FLINGER" uid="graphics" />
These should be the declared permissions.
I've seen that here android.permission.ACCESS_NETWORK_STATE is declared but it isn't declared here:
Code:
<permission name="android.permission.BLUETOOTH_ADMIN" >
<group gid="net_bt_admin" />
</permission>
<permission name="android.permission.BLUETOOTH" >
<group gid="net_bt" />
</permission>
<permission name="android.permission.INTERNET" >
<group gid="inet" />
</permission>
<permission name="android.permission.CAMERA" >
<group gid="camera" />
</permission>
<permission name="android.permission.READ_LOGS" >
<group gid="log" />
</permission>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
</permission>
<!-- The group that /cache belongs to, linked to the permission
set on the applications that can access /cache -->
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM" >
<group gid="cache" />
</permission>
<!-- RW permissions to any system resources owned by group 'diag'.
This is for carrier and manufacture diagnostics tools that must be
installable from the framework. Be careful. -->
<permission name="android.permission.DIAGNOSTIC" >
<group gid="input" />
<group gid="diag" />
</permission>
I should declare it together with android.permission.ACCESS_NETWORK_LOCATION,shouldn't I?
ciaox said:
Zecanilis made a mistake here. Why moving it to general section? I'm talking about a PORTING,which is a DEV thing.
Sent from my LG Optimus One P500 using XDA App
Click to expand...
Click to collapse
Yes i made a mistake, for 2 minutes. I'm human you know!
And if you've changed the name of the thread it whouldn't happen. So please change the [Q] to [DEV Q].
Cheers
Zecanilis said:
Yes i made a mistake, for 2 minutes. I'm human you know!
And if you've changed the name of the thread it whouldn't happen. So please change the [Q] to [DEV Q].
Cheers
Click to expand...
Click to collapse
Ok I will. But don't get mad!
you are missing the lib libril.so and the binary rild
if its still not working, have a look in init.rc and init.thunderg.rc files to see
how and when services are started
andy572 said:
you are missing the lib libril.so and the binary rild
if its still not working, have a look in init.rc and init.thunderg.rc files to see
how and when services are started
Click to expand...
Click to collapse
No,i didn't miss rild binary and neither libril.so
Ok i'll take a look at that .rc files.
I'm not sure if you have to use uid or gid here, try with uid=shell,
will take a look for possible gid
ciaox Cant you add the gsm etc from the russian exe available for GB roms and thn we can flash this sense rom ? Any idea
mansirawat said:
ciaox Cant you add the gsm etc from the russian exe available for GB roms and thn we can flash this sense rom ? Any idea
Click to expand...
Click to collapse
Thanks for the idea,but i need some Froyo libs.
upd: I looked after froyo platform.xml but ACCESS_NETWORK_LOCATION isn't declared there too. So,I now think that it's something in .rc files,but I'll try to touch platform.xml too.
ciaox
upd:Got it working. Took libs from my openOptimus rom and opensource rild binary. One question: I can't make calls,but I can recieve 'em. Why? Trying with another dialer.
ciaox said:
upd:Got it working. Took libs from my openOptimus rom and opensource rild binary. One question: I can't make calls,but I can recieve 'em. Why? Trying with another dialer.
Click to expand...
Click to collapse
Well, just symlink gsmincomingcall.so to gsmoutgoingcall.so?
OK, seriously - maybe upload it somewhere so that people can mess with it and possibly find out? (After all, incoming calls working is still a whole lot better than no GSM altogether - which is what people are stuck with ATM.)
doktornotor said:
Well, just symlink gsmincomingcall.so to gsmoutgoingcall.so?
OK, seriously - maybe upload it somewhere so that people can mess with it and possibly find out? (After all, incoming calls working is still a whole lot better than no GSM altogether - which is what people are stuck with ATM.)
Click to expand...
Click to collapse
Upload what man? The whole rom or what?
ciaox said:
Upload what man? The whole rom or what?
Click to expand...
Click to collapse
Well yeah... kinda hard to debug such stuff when you have nothing at hand to experiment with. Or maybe just some flashable "hotfix" zip to the first alpha you posted here.
doktornotor said:
Well yeah... kinda hard to debug such stuff when you have nothing at hand to experiment with. Or maybe just some flashable "hotfix" zip to the first alpha you posted here.
Click to expand...
Click to collapse
Even dialer One fails(Uses same system method for calling).

[GUIDE] How resize/edit a custom theme for TWRP

How resize/edit a theme TWRP
​
First things to know :
A custom theme for TWRP ( recovery ) is a zipped folder who is named : ui.zip
This folder is composed by 2 folders :
fonts
There are in this folder all fonts resources of the theme in .dat format.
nb: the two last numbers of name is the size
images
There are in this folder any images resources.
If you are editing/resizing a theme you must be aware about size of these.
exemple : if you are trying to port a 720p theme in 1080p you'll need to multiply the size of all images by 1,5
( 100x100 => 150x150 ).
And an xml file :
ui.xml
There are in this file any codes of apparence of the theme.
This is the most complicate part of theme and is composed like this :
Code:
<?xml version="1.0"?>
The version of xml ... Don't touch this.
Code:
<recovery>
<details>
<resolution width="1080" height="1920" />
<author>Primokorn</author>
<title>XDA Origins</title>
<description>TWRP Theme </description>
<preview>preview.jpg</preview>
</details>
Well ... I think it's enough explicit.
then, between > ... < put what you want.
Code:
<resources>
<resource name="font" type="font" filename="Roboto-Regular-30" />
<resource name="mediumfont" type="font" filename=" Roboto-Regular-25" />
<resource name="filelist" type="font" filename="Roboto-Regular-30" />
<resource name="top_bar" type="image" filename="top-bar.png" />
<resource name="background" type="image" filename="background.jpg" />
<resource name="main_button" type="image" filename="menu-button" />
<resource name="main_button_highlight" type="image" filename="menu-button-highlight" />
<resource name="file_icon" type="image" filename="file" />
<resource name="folder_icon" type="image" filename="folder" />
<resource name="slideout" type="image" filename="slideout" />
<resource name="progress" type="animation" filename="indeterminate" />
<resource name="progress_empty" type="image" filename="progress_empty" />
<resource name="progress_full" type="image" filename="progress_fill" />
<resource name="checkbox_false" type="image" filename="checkbox_empty" />
<resource name="checkbox_true" type="image" filename="checkbox_checked" />
<resource name="radio_false" type="image" filename="radio_empty" />
<resource name="radio_true" type="image" filename="radio_selected" />
<resource name="medium_button" type="image" filename="medium-button" />
<resource name="sort_button" type="image" filename="sort-button" />
<resource name="medium_button_highlight" type="image" filename="medium-button-highlight" />
<resource name="sort_button_highlight" type="image" filename="sort-button-highlight" />
<resource name="minus_button" type="image" filename="minus-button" />
<resource name="plus_button" type="image" filename="plus-button" />
<resource name="home_icon" type="image" filename="home-icon" />
<resource name="back_icon" type="image" filename="back-icon" />
<resource name="slider" type="image" filename="slider" />
<resource name="slider-used" type="image" filename="slider-used" />
<resource name="slider-touch" type="image" filename="slider-touch" />
<resource name="unlock-icon" type="image" filename="unlock" />
<resource name="keyboard1" type="image" filename="keyboard1" />
<resource name="keyboard2" type="image" filename="keyboard2" />
<resource name="keyboard3" type="image" filename="keyboard3" />
<resource name="keyboard4" type="image" filename="keyboard4" />
</resources>
<resources> ... </resources> : any resources files inside.
- resource name="..." this is the resource name used in the xml script
- type="..." this the type of resource ( image, font, animation ... )
- filename=" ... " this is the name in resources folders
Code:
<variables>
<variable name="col1_x" value="10" />
<variable name="col2_x" value="565" />
<variable name="col_center_x" value="288" />
<variable name="col_center_medium_x" value="414" />
<variable name="center_x" value="540" />
<variable name="row1_y" value="255" />
<variable name="row2_y" value="615" />
<variable name="row3_y" value="975" />
<variable name="row4_y" value="1335" />
<variable name="col1_center_x" value="179" />
<variable name="col2_center_x" value="552" />
<variable name="row1_text2_y" value="310" />
<variable name="row2_text2_y" value="550" />
<variable name="row_queue_y" value="1140" />
<variable name="row1_header_y" value="180" />
<variable name="row1_text_y" value="255" />
<variable name="row2_text_y" value="330" />
<variable name="row3_text_y" value="405" />
<variable name="row4_text_y" value="480" />
<variable name="row5_text_y" value="555" />
<variable name="row6_text_y" value="630" />
<variable name="row7_text_y" value="705" />
<variable name="row8_text_y" value="780" />
<variable name="row9_text_y" value="855" />
<variable name="row10_text_y" value="930" />
<variable name="row11_text_y" value="1005" />
<variable name="row12_text_y" value="1080" />
<variable name="row13_text_y" value="1155" />
<variable name="row14_text_y" value="1230" />
<variable name="row15_text_y" value="1305" />
<variable name="row16_text_y" value="1380" />
<variable name="row17_text_y" value="1455" />
<variable name="row18_text_y" value="1530" />
<variable name="zip_status_y" value="922" />
<variable name="tz_selected_y" value="240" />
<variable name="tz_set_y" value="1500" />
<variable name="tz_current_y" value="1425" />
<variable name="col_progressbar_x" value="351" />
<variable name="row_progressbar_y" value="1650" />
<variable name="col1_medium_x" value="10" />
<variable name="col2_medium_x" value="282" />
<variable name="col3_medium_x" value="545" />
<variable name="col4_medium_x" value="817" />
<variable name="row1_medium_y" value="195" />
<variable name="row2_medium_y" value="345" />
<variable name="row3_medium_y" value="392" />
<variable name="row4_medium_y" value="645" />
<variable name="row5_medium_y" value="795" />
<variable name="row6_medium_y" value="1260" />
<variable name="row7_medium_y" value="730" />
<variable name="slider_x" value="101" />
<variable name="slider_y" value="1575" />
<variable name="slider_text_y" value="1676" />
<variable name="button_text_color" value="#FF9C11" />
<variable name="text_color" value="#FF9C11" />
<variable name="text_success_color" value="#00FF00" />
<variable name="text_fail_color" value="#FF9C11" />
<variable name="highlight_color" value="#90909080" /> <variable name="home_button_x" value="10" />
<variable name="home_button_y" value="1839" />
<variable name="back_button_x" value="944" />
<variable name="back_button_y" value="1839" />
<variable name="sort_text_x" value="10" />
<variable name="sort_asc_text_y" value="1635" />
<variable name="sort_asc_button_y" value="1620" />
<variable name="sort_desc_text_y" value="1725" />
<variable name="sort_desc_button_y" value="1710" />
<variable name="sort_col1_button_x" value="390" />
<variable name="sort_col2_button_x" value="540" />
<variable name="sort_col3_button_x" value="690" />
<variable name="input_width" value="1060" />
<variable name="input_height" value="75" />
<variable name="input_background_color" value="#000000" />
<variable name="input_cursor_color" value="#FF9C11" />
<variable name="input_cursor_width" value="4" />
<variable name="console_x" value="0" />
<variable name="console_width" value="1080" />
<variable name="console_foreground" value="#FF9C11" />
<variable name="console_background" value="#000000" />
<variable name="console_scroll" value="#000000" />
<variable name="console_action_height" value="705" />
<variable name="console_install_height" value="900" />
<variable name="console_installdone_height" value="660" />
<variable name="fileselector_x" value="5" />
<variable name="fileselector_width" value="1070" />
<variable name="fileselector_install_height" value="1170" />
<variable name="fileselector_header_background" value="#000000" />
<variable name="fileselector_header_textcolor" value="#FF9C11" />
<variable name="fileselector_header_separatorcolor" value="#FF9C11" />
<variable name="fileselector_header_separatorheight" value="4" />
<variable name="fileselector_separatorcolor" value="#FF9C11" />
<variable name="fileselector_separatorheight" value="3" />
<variable name="fileselector_background" value="#000000" />
<variable name="fileselector_highlight_color" value="#505050" />
<variable name="fileselector_highlight_font_color" value="#FF9C11" />
<variable name="fileselector_spacing" value="36" />
<variable name="fastscroll_linecolor" value="#FF9C11" />
<variable name="fastscroll_rectcolor" value="#FF9C11" />
<variable name="fastscroll_w" value="90" />
<variable name="fastscroll_linew" value="3" />
<variable name="fastscroll_rectw" value="60" />
<variable name="fastscroll_recth" value="105" />
<variable name="listbox_x" value="5" />
<variable name="listbox_width" value="1070" />
<variable name="listbox_tz_height" value="885" />
<variable name="listbox_background" value="#000000" />
<variable name="listbox_spacing" value="24" />
<variable name="sd_plus_x" value="525" />
<variable name="sdext_text_x" value="165" />
<variable name="sdext_text_y" value="270" />
<variable name="sdswap_button_y" value="390" />
<variable name="sdswap_text_x" value="165" />
<variable name="sdswap_text_y" value="405" />
<variable name="sdfilesystem_text_y" value="510" />
<variable name="sdfilesystem_button_y" value="570" />
<variable name="lock_x" value="240" />
<variable name="lock_y" value="600" />
<variable name="filemanager_select_x" value="840" />
<variable name="filemanager_select_y" value="1620" />
<variable name="backup_name_y" value="825" />
<variable name="terminal_console_height" value="1080" />
<variable name="terminal_text_y" value="1095" />
<variable name="terminal_button_y" value="1050" />
<variable name="row_dst_text_y" value="1080" />
<variable name="row_offset_text_y" value="1155" />
<variable name="row_offset_medium_y" value="1260" />
<variable name="button_fill_color" value="#303030" />
<variable name="button_fill_full_width" value="1060" />
<variable name="button_fill_main_width" value="505" />
<variable name="button_fill_main_height" value="324" />
<variable name="button_fill_half_height" value="162" />
<variable name="button_fill_quarter_height" value="81" />
<variable name="backup_list_height" value="780" />
<variable name="backup_button_row1" value="1118" />
<variable name="backup_button_row2" value="1220" />
<variable name="mount_list_height" value="1035" />
<variable name="mount_storage_row" value="1240" />
<variable name="storage_list_height" value="1000" />
<variable name="wipe_list_height" value="1305" />
<variable name="wipe_button_y" value="975" />
<variable name="slidervalue_w" value="1060" />
<variable name="slidervalue_line_clr" value="#FFFFFF" />
<variable name="slidervalue_slider_clr" value="#FF9C11" />
<variable name="slidervalue_lineh" value="3" />
<variable name="slidervalue_padding" value="30" />
<variable name="slidervalue_sliderw" value="15" />
<variable name="slidervalue_sliderh" value="90" />
</variables>
<variables> ... </variables>
there are inside all predefined interfaces of pages : colors, X and Y values
If you resize a theme this a part you need to modify !
X is the margin and Y the verticaly position.
X = 0 is the left side
Y = 0 is the top
If you resize a theme you need to modify X and Y value in fonction of the size difference.
Exemple : 720p -> 1080p 1080 : 720 =1,5
if you have X = 100 and Y =500 you must change values in X = 150 and Y = 750.
You can change too html colors with codes colors wanted.
NB : variables are predefined but evey pages can have his values and need to be modified too
Code:
<templates>
<template name="sort_options">
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%sort_text_x%" y="%sort_asc_text_y%" />
<text>Sort Ascending:</text>
</object>
<object type="button">
<placement x="%sort_col1_button_x%" y="%sort_asc_button_y%" />
<font resource="font" color="%button_text_color%" />
<text>Name</text>
<image resource="sort_button" highlightresource="sort_button_highlight" />
<action function="set">tw_gui_sort_order=1</action>
</object>
<object type="button">
<placement x="%sort_col2_button_x%" y="%sort_asc_button_y%" />
<font resource="font" color="%button_text_color%" />
<text>Date</text>
<image resource="sort_button" highlightresource="sort_button_highlight" />
<action function="set">tw_gui_sort_order=2</action>
</object>
<object type="button">
<placement x="%sort_col3_button_x%" y="%sort_asc_button_y%" />
<font resource="font" color="%button_text_color%" />
<text>Size</text>
<image resource="sort_button" highlightresource="sort_button_highlight" />
<action function="set">tw_gui_sort_order=3</action>
</object>
<object type="text" color="%text_color%">
<font resource="font" />
<placement x="%sort_text_x%" y="%sort_desc_text_y%" />
<text>Sort Descending:</text>
</object>
<object type="button">
<placement x="%sort_col1_button_x%" y="%sort_desc_button_y%" />
<font resource="font" color="%button_text_color%" />
<text>Name</text>
<image resource="sort_button" highlightresource="sort_button_highlight" />
<action function="set">tw_gui_sort_order=-1</action>
</object>
<object type="button">
<placement x="%sort_col2_button_x%" y="%sort_desc_button_y%" />
<font resource="font" color="%button_text_color%" />
<text>Date</text>
<image resource="sort_button" highlightresource="sort_button_highlight" />
<action function="set">tw_gui_sort_order=-2</action>
</object>
<object type="button">
<placement x="%sort_col3_button_x%" y="%sort_desc_button_y%" />
<font resource="font" color="%button_text_color%" />
<text>Size</text>
<image resource="sort_button" highlightresource="sort_button_highlight" />
<action function="set">tw_gui_sort_order=-3</action>
</object>
</template>
<template name="action_page_console">
<object type="console">
<placement x="0" y="%row2_y%" w="1080" h="700" />
<color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
<font resource="fixed" />
</object>
</template>
<template name="footer">
<object type="console">
<slideout resource="slideout" x="490" y="1830" />
<placement x="%console_x%" y="0" w="%console_width%" h="1900" />
<color foreground="%console_foreground%" background="%console_background%" scroll="%console_scroll%" />
<font resource="fixed" />
</object>
</template>
<template name="keyboardtemplate">
<object type="keyboard">
<placement x="0" y="1200" />
<layout resource1="keyboard1" resource2="keyboard2" resource3="keyboard3" resource4="keyboard4" />
<highlight color="%highlight_color%" />
<layout1>
<keysize height="161" width="108" />
<row1 key01="q" long01="1" key02="w" long02="2" key03="e" long03="3" key04="r" long04="4" key05="t" long05="5" key06="y" long06="6" key07="u" long07="7" key08="i" long08="8" key09="o" long09="9" key10="p" long10="0" />
<row2 key01="162:a" long01="@" key02="s" long02="#" key03="d" long03="$" key04="f" long04="%" key05="g" long05="&" key06="h" long06="*" key07="j" long07="-" key08="k" long08="+" key09="162:l" long09="_" />
<row3 key01="162:layout2" key02="z" long02="!" key03="x" key04="c" long04="'" key05="v" long05=":" key06="b" long06=";" key07="n" long07="/" key08="m" long08="?" key09="162:c:8" />
<row4 key01="162:layout3" key02="108:c:47" key03="108:" key04="432: " key05="." key06="162:action" />
</layout1>
<layout2>
<keysize height="161" width="108" />
<row1 key01="Q" long01="1" key02="W" long02="2" key03="E" long03="3" key04="R" long04="4" key05="T" long05="5" key06="Y" long06="6" key07="U" long07="7" key08="I" long08="8" key09="O" long09="9" key10="P" long10="0" />
<row2 key01="162:A" long01="@" key02="S" long02="#" key03="D" long03="$" key04="F" long04="%" key05="G" long05="&" key06="H" long06="*" key07="J" long07="-" key08="K" long08="+" key09="162:L" long09="_" />
<row3 key01="162:layout1" key02="Z" long02="!" key03="X" key04="C" long04="'" key05="V" long05=":" key06="B" long06=";" key07="N" long07="/" key08="M" long08="?" key09="162:c:8" />
<row4 key01="162:layout3" key02="/" key03="108:" key04="432: " key05="." key06="162:action" />
</layout2>
<layout3>
<keysize height="161" width="108" />
<row1 key01="1" key02="2" key03="3" key04="4" key05="5" key06="6" key07="7" key08="8" key09="9" key10="0" />
<row2 key01="@" key02="#" key03="$" key04="%" key05="&" key06="*" key07="-" key08="+" key09="(" key10=")" />
<row3 key01="162:layout4" key02="!" key03="108:c:34" key04="'" key05=":" key06=";" key07="/" key08="?" key09="162:c:8" />
<row4 key01="162:layout1" key02="," key03="108:" key04="432: " key05="." key06="162:action" />
</layout3>
<layout4>
<keysize height="161" width="108" />
<row1 key01="~" key02="`" key03="|" key04="108:" key05="108:" key06="108:" key07="%" key08="108:" key09="{" key10="}" />
<row2 key01="108:" key02="108:" key03="108:" key04="108:" key05="108:" key06="^" key07="_" key08="=" key09="[" key10="]" />
<row3 key01="162:layout3" key02="108:" key03="108:" key04="108:" key05="108:" key06="\" key07="<" key08=">" key09="162:c:8" />
<row4 key01="162:layout1" key02="108:c:34" key03="108:" key04="432: " key05="." key06="162:action" />
</layout4>
</object>
</template>
</templates>
<templates> ... </template>
well, inside any things who can appair on any pages.
you must change any X and Y values.
If wanted, colors codes too ...
placement x="%........_....._....x%"
% is the value defined in <variables></variables>
NB : for Keyboard values I recommand to copy/past from an ui.xml in size wanted !
And for finish you have
Code:
<page> ... </pages>
any pages who can be open in the Recovery are here.
there are lot of pages and if you want resize a theme you must change any X and Y values in any pages.
when you finish to edit any pages as wanted, rezipe 2 resources folders + ui.xml in " stockage mod " ( without compression ) and let's GO ! :victory:
I hope that will help you, don't hesitate to ask me on this thread.
* * * * * * *
​
Reserved for OP
Useful "how-to" guide mate :good:
thanks for your guide, i want to try it but i don't know about xml
can u give me a explain if i want to port to 540x960 ??
thanks
sorry for me bad english
gangsar said:
thanks for your guide, i want to try it but i don't know about xml
can u give me a explain if i want to port to 540x960 ??
thanks
sorry for me bad english
Click to expand...
Click to collapse
Hello,
You need to change all X and Y value.
If you take a theme in 720p, you must divide value by 1,5.
For keyboard, copy/past from an xml For your screen resolution.
Warning : any values are between " ".
Don't delete one of " or you will have a Recovery bootloop.
Ok ?
ok I'll try, thanks for explain
I was tried to devide to 1.5 an resize background n keyboard to my screen resolution, but I can't see navigation button n main button is too large,
what's wrong ?
thanks
gangsar said:
I was tried to devide to 1.5 an resize background n keyboard to my screen resolution, but I can't see navigation button n main button is too large,
what's wrong ?
thanks
Click to expand...
Click to collapse
Have you resized pictures too ?
If not, do it
Edit : you have to resize all pictures in images folder and change all X and Y values in xml file
ohh thanks i'll try again
Sent from my Lenovo P770 using XDA Premium 4 mobile app
Can you give a formula for resizing of images?
How you calculate it? I want for e.g to resize 720x1280 theme images for 480x800.
dancer_69 said:
Can you give a formula for resizing of images?
How you calculate it? I want for e.g to resize 720x1280 theme images for 480x800.
Click to expand...
Click to collapse
720 : 480 = 1,5
1280 : 800 = 1,6
Then divide all by 1,5 if you want a theme who is in 720p
So, if I have a picture with width: 80 and height: 53, this will become
width: 80/1.5=53.3 and height: 53/1.5=35.3 to be okay for resolution 480x800?
dancer_69 said:
So, if I have a picture with width: 80 and height: 53, this will become
width: 80/1.5=53.3 and height: 53/1.5=35.3 to be okay for resolution 480x800?
Click to expand...
Click to collapse
Yes
@NorthLight
I was able to port XDA_Origin over to my HTC One SV at 480x800. Looks great, but I'm having issues with the font size. They are too big. Any suggestions?
Edit: Nevermind... I overlooked it lol.
Modding.MyMind said:
@NorthLight
I was able to port XDA_Origin over to my HTC One SV at 480x800. Looks great, but I'm having issues with the font size. They are too big. Any suggestions?
Edit: Nevermind... I overlooked it lol.
Click to expand...
Click to collapse
It's ok ? It works ?
If you want share the ported theme, open your thread, Give crédits to Primokorn and me, put the source link.
Good job mate !
NorthLight said:
It's ok ? It works ?
If you want share the ported theme, open your thread, Give crédits to Primokorn and me, put the source link.
Good job mate !
Click to expand...
Click to collapse
It works, but some things appear to be slightly off, but not by much. I have a question.... I am porting the XDA_Origin based on 1080x1920 to 480x800. I already know what needs to be done with all the images and all the X's and Y's. However, there is one thing i have been seeing inside the ui.xml file which has me confused. Here is an example (see red).
Base Version: 1080x1920 XDA_Origin:
Code:
<object type="text" color="%text_color%">
<font resource="mediumfont" />
<placement x="450" y="%row1_header_y%" [COLOR="Red"]placement="[B]8[/B]"[/COLOR] />
<text></text>
</object>
Port Version: 480x800 XDA_Origin:
Code:
<object type="text" color="%text_color%">
<font resource="mediumfont" />
<placement x="200" y="%row1_header_y%" [COLOR="Red"]placement="[B]8[/B]"[/COLOR] />
<text></text>
</object>
Should the value number 8 be changed as well? I have changed all values accordingly, but all codes that come up as, placement="", I have not tampered with because I do not know what those values do, and I am curious as to whether or not those values are the reason why my port is slightly off just a little bit on my screen lol.
---------- Post added 19th February 2014 at 12:54 AM ---------- Previous post was 18th February 2014 at 11:57 PM ----------
@NorthLight
Nevermind, changing those values should not be touched lol. They need to stay the same as from the original. Still at a lost as to what is causing the theme to be slightly off. For example, the keyboard is a smudge too high and needs to be lowered, but I changed it properly so I dont fully understand why it isnt aligned to begin with.
1080 : 480 = 2.25
1920 : 800 = 2.4
I changed every value by dividing with 2.25. I am starting to wonder if the Y values should be divided by 2.25 and the X values divided by 2.4? Though, all the images for width and height were divided by only 2.25....
Modding.MyMind said:
It works, but some things appear to be slightly off, but not by much. I have a question.... I am porting the XDA_Origin based on 1080x1920 to 480x800. I already know what needs to be done with all the images and all the X's and Y's. However, there is one thing i have been seeing inside the ui.xml file which has me confused. Here is an example (see red).
Base Version: 1080x1920 XDA_Origin:
Code:
<object type="text" color="%text_color%">
<font resource="mediumfont" />
<placement x="450" y="%row1_header_y%" [COLOR="Red"]placement="[B]8[/B]"[/COLOR] />
<text></text>
</object>
Port Version: 480x800 XDA_Origin:
Code:
<object type="text" color="%text_color%">
<font resource="mediumfont" />
<placement x="200" y="%row1_header_y%" [COLOR="Red"]placement="[B]8[/B]"[/COLOR] />
<text></text>
</object>
Should the value number 8 be changed as well? I have changed all values accordingly, but all codes that come up as, placement="", I have not tampered with because I do not know what those values do, and I am curious as to whether or not those values are the reason why my port is slightly off just a little bit on my screen lol.
---------- Post added 19th February 2014 at 12:54 AM ---------- Previous post was 18th February 2014 at 11:57 PM ----------
@NorthLight
Nevermind, changing those values should not be touched lol. They need to stay the same as from the original. Still at a lost as to what is causing the theme to be slightly off. For example, the keyboard is a smudge too high and needs to be lowered, but I changed it properly so I dont fully understand why it isnt aligned to begin with.
1080 : 480 = 2.25
1920 : 800 = 2.4
I changed every value by dividing with 2.25. I am starting to wonder if the Y values should be divided by 2.25 and the X values divided by 2.4? Though, all the images for width and height were divided by only 2.25....
Click to expand...
Click to collapse
For keyboard I recommend to copy/past from an official TWRP in your screen resolution, it's more easy.
@NorthLight
Yea, did that already. The image is still up a little too high.
Sent from my C525c using Tapatalk
Modding.MyMind said:
@NorthLight
Yea, did that already. The image is still up a little too high.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
The pictures of keyboard for you need to be large as 480
NorthLight said:
The pictures of keyboard for you need to be large as 480
Click to expand...
Click to collapse
It is lol. But its currently raised up on the screen slightly too high, so when you type, the keyboard itself is overlapping the actual text being displayed from typing.
Sent from my C525c using Tapatalk
---------- Post added at 10:38 AM ---------- Previous post was at 10:18 AM ----------
@NorthLight
I changed the values inside the ui.xml by dividing the numbers with 2.25. Though, for some reason, it is not sitting on the screen where it is suppose to be. Does the ui.xml file accept decimals? Most of my numbers when dividing by 2.25 result in decimals but I rounded them all down. For example, lets say one came out to be 40.65, then I would write it down as 40 in the ui.xml file? Or can I use 40.65?
Sent from my C525c using Tapatalk

TWRP Theme Porter [ Android ]

I have put together a script called, TWRPPORTER, that will port both the images and the ui.xml file from one specified resolution to another specified resolution.
The ui porter will not port the keyboardtemplate so it must be dealt with manually, and it will not touch the font size since that tends to be a preference amongst different devices, but it will handle everything else.
The images known to be used for TWRP themes are .jpg, and .png so the script will search for the given extensions based on where you point it to and then determine the original width and height of each image. It will resize them accordingly and write back to that same image to prevent duplicates.
After the script has been ran and you adjust the font size, then manually port the keyboardtemplate, all you are required to do is zip it up and name it, ui.zip.
Inside your TWRP folder will be another foldered named, theme (lowercase). Place the ui.zip inside the theme folder and boot in to your TWRP Recovery. Voila.
Please, keep in mind, that if you come across a TWRP theme which you later port and some things are still slightly off it could be due to a few causes:
1. The original theme developer was sloppy with his own work so you must fix his mistakes.
2. You grabbed a Theme designed for a Tablet to use on a regular device or vice versa. - ( Please use common sense)
Both scripts require the use of busybox applets which have been symlinked.
The script also requires the use of GraphicsMagick (gm) when porting images. Which overall the utility is mainly known for being a Linux utility but I was able to cross compile it from source. GM has been embedded into the TWRPPORTER script. When you run the script it will give you the option to install GM if your device is found not to have it. Later, the script will also give you the option to uninstall it if you so choose to do so.
The TWRPPORTER script will save a person HOURS of their time while porting TWRP Themes, but don't be fooled as the user will still be expected to have some personal experience porting such themes. The TWRPUI script WILL have to echo on to your screen certain values which can be located within "variable names" inside the ui.xml file. These special case values are to be determined by the human mind whether they resemble width or height and at which the user will type and enter, w/W or h/H. These special case values cannot be automatically determined simply due to the fact that any given themer can call these variable names whatever they want if they deem it necessary to do so. However, I have implemented some checks in to the script to help reduce this as much as possible.
However, the script WILL hunt down all x=, y=, w=, h=, width=, and height= values then automatically modify them according to the base and port resolution given as info to the script.
Once the script finishes you will find a file called, PORT_UI.xml.
To get access to this TWRP Theme Porter you can find it on my repo provided within the below link. The README.md file will provide a little more information.
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER
TWRPIMAGE
{
"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"
}
TWRPUI
Here is a preview to show the results of using the TWRP Theme Porter seen from this link:
spanish33 said:
Holo black theme from @z31s1g ported using @Modding.MyMind TWRP theme porter. This theme allows you to change the color to red, green, blue, pink, orange, white or yellow. See second post for download link
Holo Black
Screenshot:
Click to expand...
Click to collapse
Sent from my C525c using Tapatalk
Looks interesting... Now just to figure out how to use it... No PC here desperately trying to theme and mod via device only...
Sent from my XT907 using XDA Premium 4 mobile app
This will work from the device but unless you have some sort of experience porting TWRP Themes then this script may not help you.
This will save someone hours of work.
Sent from my C525c using Tapatalk
The gm binary in my repo is to be used in conjunction with the TWRPIMAGE script. Place the binary in /system/bin then set permissions to either 755 or 777 (your choice), though good practice would be 755.
777 = rwx-rwx-rwx
755 = rwx-r-x-r-x
Sent from my C525c using Tapatalk
Just want to leave an "amazing work", as usual
I've been reading a lot about it that's how I came across this... Few more nights of reading and I'm sure I'll get it
Sent from my XT907 using XDA Premium 4 mobile app
ezknives said:
I've been reading a lot about it that's how I came across this... Few more nights of reading and I'm sure I'll get it
Sent from my XT907 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
The best way to learn is to do one manually . After a successful port or two you will get the gist of it pretty quick. Then, when you use my work from here you will see how much of a relief it is lol.
Sent from my C525c using Tapatalk
Modding.MyMind said:
The best way to learn is to do one manually . After a successful port or two you will get the gist of it pretty quick. Then, when you use my work from here you will see how much of a relief it is lol.
Sent from my C525c using Tapatalk
Click to expand...
Click to collapse
yes this script is big relief compared to the manual way! great work @Modding.MyMind can't thank you enough.
How to Manually Port a TWRP Theme
Holofied Black originally from resolution 720x1280 by @z31s1g which has been ported to resolution 480x800. What is being displayed below is how you would go about porting such a theme and what all it entails for porting a TWRP Theme in most cases. Feel free to study it and learn. This is how you would go about it manually.
All "-" symbols means it was removed and all "+" symbols means it was added. I have them all color coded between red and green but it appears XDA made a change to the "code" format on here so I apologize for that.
To port width based values the following is applied:
720/$=$.$
480/$.$=$.$$
Round up or down based on .5 to the nearest integer.
Above logic is used with height equivalent values as well AND to include porting the actual images.
I believe the above is pretty self explanatory.
x, w, and width values are based on width.
y, h, and height values are based on height.
Inside the ui.xml files are <variable names> which will be conducted of a mixture of those mentioned above - such values I like to call special case values. ( Watch out for them )
Code:
--- /home/moddingmymind/Desktop/theme/2.7.1.x_Holofied_Black/720_black/ui.xml
+++ /home/moddingmymind/Desktop/theme/2.7.1.x_Holofied_Black/ui.xml
@@ -2,7 +2,7 @@
<recovery>
<details>
[COLOR="Red"]- <resolution width="720" height="1280" />[/COLOR]
[COLOR="Green"]+ <resolution width="480" height="800" />[/COLOR]
<author>z31s1g</author>
<title>TWRP Holofied black</title>
<description>Holofied black theme for TWRP recovery</description>
@@ -11,10 +11,10 @@
<resources>
[COLOR="Red"]- <resource name="font" type="font" filename="Roboto-Regular-25" />[/COLOR]
[COLOR="Green"]+ <resource name="font" type="font" filename="Roboto-Regular-20" />[/COLOR]
<resource name="font_small" type="font" filename="Roboto-Regular-20" />
[COLOR="Red"]- <resource name="font_medium" type="font" filename="Roboto-Regular-30" />[/COLOR]
[COLOR="Red"]- <resource name="font_big" type="font" filename="Roboto-Regular-40" />[/COLOR]
[COLOR="Green"]+ <resource name="font_medium" type="font" filename="Roboto-Regular-20" />[/COLOR]
[COLOR="Green"]+ <resource name="font_big" type="font" filename="Roboto-Regular-20" />[/COLOR]
<resource name="statusbar" type="image" filename="statusbar" />
<resource name="navbar" type="image" filename="navbar" />
@@ -273,103 +273,103 @@
<variable name="location_addfile" value="/sdcard/Download" persist="1" />
<variable name="location_themes" value="/sdcard/Download" persist="1" />
[COLOR="Red"]- <variable name="screen_w" value="720" />[/COLOR]
[COLOR="Red"]- <variable name="screen_h" value="1280" />[/COLOR]
[COLOR="Green"]+ <variable name="screen_w" value="480" />
+ <variable name="screen_h" value="800" />[/COLOR]
<variable name="indent" value="0" /> <!--for elements 720 wide (0 if 720, 24 if 768, 40 if 800 screen width)-->
[COLOR="Red"]- <variable name="center_x" value="360" />[/COLOR]
[COLOR="Red"]- <variable name="col1_x" value="32" /> <!--for elements 656 wide (main buttons, filelists)--> (40 if 720, 56 if 768, 72 if 800 screen width)[/COLOR]
[COLOR="Red"]- <variable name="col1_x_indent" value="64" />
- <variable name="col2_x" value="361" /> <!--for elements 359 wide (right one of two tabs)-->
- <variable name="backup_col_x" value="250" />
- <variable name="restore_col_x" value="250" />
- <variable name="flash_col_x" value="180" />
- <variable name="flash_col_x2" value="210" />
- <variable name="timezone_col_x" value="315" />
- <variable name="version_x" value="15" /> <!--position of twrp version number on body_home template-->
- <variable name="battery_x" value="545" /> <!--AM/PM-->
- <variable name="time_x" value="705" /> <!--left align -->
- <variable name="battery_x_m" value="600" /> <!--Military Time-->
- <variable name="settings_x" value="624" /> <!--position of settings button on body_home template-->
- <variable name="timezone_x" value="528" /> <!--position of timezone button on settings page-->
- <variable name="theme_x" value="528" /> <!--position of timezone button on body_home page-->
- <variable name="bookmark_x" value="432" />
- <variable name="settings_y" value="50" /> <!--position of settings button on body_home template-->
- <variable name="status_info_y" value="4" />
- <variable name="tabbar_y" value="146" />
- <variable name="tabbar_4_y" value="194" />
- <variable name="stripe_y" value="142" />
- <variable name="clr_col1_x" value="32" />
- <variable name="clr_col2_x" value="197" />
- <variable name="clr_col3_x" value="362" />
- <variable name="clr_col4_x" value="527" />
-
- <variable name="row-1_y" value="160" />
- <variable name="row0_y" value="204" />
- <variable name="row1_y" value="253" />
- <variable name="row2_y" value="302" />
- <variable name="row3_y" value="351" />
- <variable name="row4_y" value="400" />
- <variable name="row5_y" value="449" />
- <variable name="row6_y" value="498" />
- <variable name="row7_y" value="547" />
- <variable name="row8_y" value="596" />
- <variable name="row9_y" value="645" />
- <variable name="row10_y" value="694" />
- <variable name="row11_y" value="743" />
- <variable name="row12_y" value="792" />
- <variable name="row13_y" value="841" />
- <variable name="row14_y" value="890" />
- <variable name="row15_y" value="939" />
- <variable name="row16_y" value="988" />
- <variable name="row17_y" value="1037" />
- <variable name="row18_y" value="1086" />
- <variable name="row19_y" value="1135" />
- <variable name="row20_y" value="1184" />
-
- <variable name="div0" value="202" />
- <variable name="div1" value="251" />
- <variable name="div2" value="300" />
- <variable name="div3" value="349" />
- <variable name="div4" value="398" />
- <variable name="div5" value="447" />
- <variable name="div6" value="496" />
- <variable name="div7" value="545" />
- <variable name="div8" value="594" />
- <variable name="div9" value="643" />
- <variable name="div10" value="692" />
- <variable name="div11" value="741" />
- <variable name="div12" value="790" />
- <variable name="div13" value="839" />
- <variable name="div14" value="888" />
- <variable name="div15" value="937" />
- <variable name="div16" value="986" />
- <variable name="div17" value="1035" />
- <variable name="div18" value="1084" />
- <variable name="div19" value="1133" />
- <variable name="div20" value="1182" />[/COLOR]
[COLOR="Green"]+ <variable name="center_x" value="240" />
+ <variable name="col1_x" value="21" /> <!--for elements 656 wide (main buttons, filelists)--> (40 if 720, 56 if 768, 72 if 800 screen width)
+ <variable name="col1_x_indent" value="43" />
+ <variable name="col2_x" value="241" /> <!--for elements 359 wide (right one of two tabs)-->
+ <variable name="backup_col_x" value="167" />
+ <variable name="restore_col_x" value="167" />
+ <variable name="flash_col_x" value="120" />
+ <variable name="flash_col_x2" value="140" />
+ <variable name="timezone_col_x" value="210" />
+ <variable name="version_x" value="10" /> <!--position of twrp version number on body_home template-->
+ <variable name="battery_x" value="363" /> <!--AM/PM-->
+ <variable name="time_x" value="470" /> <!--left align -->
+ <variable name="battery_x_m" value="400" /> <!--Military Time-->
+ <variable name="settings_x" value="416" /> <!--position of settings button on body_home template-->
+ <variable name="timezone_x" value="352" /> <!--position of timezone button on settings page-->
+ <variable name="theme_x" value="352" /> <!--position of timezone button on body_home page-->
+ <variable name="bookmark_x" value="288" />
+ <variable name="settings_y" value="31" /> <!--position of settings button on body_home template-->
+ <variable name="status_info_y" value="3" />
+ <variable name="tabbar_y" value="91" />
+ <variable name="tabbar_4_y" value="121" />
+ <variable name="stripe_y" value="89" />
+ <variable name="clr_col1_x" value="21" />
+ <variable name="clr_col2_x" value="131" />
+ <variable name="clr_col3_x" value="241" />
+ <variable name="clr_col4_x" value="351" />
+
+ <variable name="row-1_y" value="100" />
+ <variable name="row0_y" value="128" />
+ <variable name="row1_y" value="158" />
+ <variable name="row2_y" value="189" />
+ <variable name="row3_y" value="219" />
+ <variable name="row4_y" value="250" />
+ <variable name="row5_y" value="281" />
+ <variable name="row6_y" value="311" />
+ <variable name="row7_y" value="342" />
+ <variable name="row8_y" value="373" />
+ <variable name="row9_y" value="403" />
+ <variable name="row10_y" value="434" />
+ <variable name="row11_y" value="464" />
+ <variable name="row12_y" value="495" />
+ <variable name="row13_y" value="526" />
+ <variable name="row14_y" value="556" />
+ <variable name="row15_y" value="587" />
+ <variable name="row16_y" value="617" />
+ <variable name="row17_y" value="648" />
+ <variable name="row18_y" value="679" />
+ <variable name="row19_y" value="709" />
+ <variable name="row20_y" value="740" />
+
+ <variable name="div0" value="126" />
+ <variable name="div1" value="157" />
+ <variable name="div2" value="188" />
+ <variable name="div3" value="218" />
+ <variable name="div4" value="249" />
+ <variable name="div5" value="279" />
+ <variable name="div6" value="310" />
+ <variable name="div7" value="341" />
+ <variable name="div8" value="371" />
+ <variable name="div9" value="402" />
+ <variable name="div10" value="433" />
+ <variable name="div11" value="463" />
+ <variable name="div12" value="494" />
+ <variable name="div13" value="524" />
+ <variable name="div14" value="555" />
+ <variable name="div15" value="586" />
+ <variable name="div16" value="616" />
+ <variable name="div17" value="647" />
+ <variable name="div18" value="678" />
+ <variable name="div19" value="708" />
+ <variable name="div20" value="739" />[/COLOR]
<variable name="col_progressbar_x" value="0" />
[COLOR="Red"]- <variable name="row_progressbar_y" value="147" />
- <variable name="col_progressbar_x_low" value="32" />
- <variable name="row_progressbar_y_low" value="839" />
-
- <variable name="breadcrumb_x" value="37" /> <!--menu label in actionbar-->
- <variable name="breadcrumb_y" value="67" />
- <variable name="bc_x" value="40" /> <!--menu label in actionbar-->
- <variable name="bc_y" value="50" />
-
- <variable name="of_x" value="414" />
- <variable name="of_y" value="146" />
- <variable name="of_button_x" value="422" />
- <variable name="of_button1_y" value="153" />
- <variable name="of_button2_y" value="251" />
-
- <variable name="home_button_x" value="254" /> <!--buttons in navbar-->
- <variable name="home_button_y" value="1184" />
- <variable name="back_button_x" value="30" />
- <variable name="back_button_y" value="1184" />
- <variable name="slideout_button_x" value="478" />
- <variable name="slideout_button_y" value="1184" />[/COLOR]
[COLOR="Green"]+ <variable name="row_progressbar_y" value="92" />
+ <variable name="col_progressbar_x_low" value="21" />
+ <variable name="row_progressbar_y_low" value="524" />
+
+ <variable name="breadcrumb_x" value="25" /> <!--menu label in actionbar-->
+ <variable name="breadcrumb_y" value="42" />
+ <variable name="bc_x" value="27" /> <!--menu label in actionbar-->
+ <variable name="bc_y" value="31" />
+
+ <variable name="of_x" value="276" />
+ <variable name="of_y" value="91" />
+ <variable name="of_button_x" value="281" />
+ <variable name="of_button1_y" value="96" />
+ <variable name="of_button2_y" value="157" />
+
+ <variable name="home_button_x" value="169" /> <!--buttons in navbar-->
+ <variable name="home_button_y" value="740" />
+ <variable name="back_button_x" value="20" />
+ <variable name="back_button_y" value="740" />
+ <variable name="slideout_button_x" value="319" />
+ <variable name="slideout_button_y" value="740" />[/COLOR]
<variable name="background" value="#000000FF" />
<variable name="background_light" value="#000000FF" />
@@ -387,82 +387,82 @@
<variable name="fileselector_highlight_color" value="#414141FF" />
<variable name="linecolor" value="#222222FF" />
[COLOR="Red"]- <variable name="tab_button_y" value="146" /> <!--for tab bar and tab buttons-->[/COLOR]
[COLOR="Green"]+ <variable name="tab_button_y" value="91" /> <!--for tab bar and tab buttons-->[/COLOR]
<variable name="tab3_col1_x" value="0" /> <!--for elements 238 wide (left one of three tabs)-->
[COLOR="Red"]- <variable name="tab3_col2_x" value="241" /> <!--for elements 238 wide (middle one of three tabs)-->
- <variable name="tab3_col3_x" value="482" /> <!--for elements 238 wide (right one of three tabs)-->
- <variable name="tab3_div3_x" value="504" />
- <variable name="tab3_div_cis_x" value="472" />
- <variable name="tab3_btn_cis_x" value="474" />[/COLOR]
[COLOR="Green"]+ <variable name="tab3_col2_x" value="161" /> <!--for elements 238 wide (middle one of three tabs)-->
+ <variable name="tab3_col3_x" value="321" /> <!--for elements 238 wide (right one of three tabs)-->
+ <variable name="tab3_div3_x" value="336" />
+ <variable name="tab3_div_cis_x" value="315" />
+ <variable name="tab3_btn_cis_x" value="316" />[/COLOR]
<variable name="tab4_col1_x" value="0" /> <!--for elements 178 wide (left one of four tabs)-->
[COLOR="Red"]- <variable name="tab4_col2_x" value="181" /> <!--for elements 178 wide (leftmiddle one of four tabs)-->
- <variable name="tab4_col3_x" value="361" /> <!--for elements 178 wide (rightmiddle one of four tabs)-->
- <variable name="tab4_col4_x" value="542" /> <!--for elements 178 wide (right one of four tabs)-->
-
- <variable name="input_width" value="644" />
- <variable name="input_height" value="54" />
- <variable name="input_cursor_width" value="3" />
- <variable name="input_cursor_x" value="38" />
- <variable name="input_image_y" value="542" />
- <variable name="input_image_terminal_y" value="638" />
-
- <variable name="console_width" value="656" />
- <variable name="console_height" value="782" />
- <variable name="console_action_height" value="439" />
- <variable name="console_background_height" value="1035" />
-
- <variable name="storage_width" value="656" />
- <variable name="storage_heigt" value="490" />
- <variable name="bg_storage_x" value="25" />
- <variable name="bg_storage_y" value="438" />[/COLOR]
[COLOR="Green"]+ <variable name="tab4_col2_x" value="121" /> <!--for elements 178 wide (leftmiddle one of four tabs)-->
+ <variable name="tab4_col3_x" value="241" /> <!--for elements 178 wide (rightmiddle one of four tabs)-->
+ <variable name="tab4_col4_x" value="361" /> <!--for elements 178 wide (right one of four tabs)-->
+
+ <variable name="input_width" value="429" />
+ <variable name="input_height" value="34" />
+ <variable name="input_cursor_width" value="2" />
+ <variable name="input_cursor_x" value="25" />
+ <variable name="input_image_y" value="339" />
+ <variable name="input_image_terminal_y" value="399" />
+
+ <variable name="console_width" value="437" />
+ <variable name="console_height" value="489" />
+ <variable name="console_action_height" value="274" />
+ <variable name="console_background_height" value="647" />
+
+ <variable name="storage_width" value="437" />
+ <variable name="storage_heigt" value="306" />
+ <variable name="bg_storage_x" value="17" />
+ <variable name="bg_storage_y" value="274" />[/COLOR]
<variable name="fileselector_x" value="0" />
[COLOR="Red"]- <variable name="fileselector_y" value="242" />
- <variable name="fileselector_part_x" value="250" />
- <variable name="fileselector_width" value="720" />
- <variable name="fileselector_part_width" value="470" />
- <variable name="fileselector_install_height" value="842" />
- <variable name="fileselector_part_height" value="194" />
- <variable name="fileselector_backup_height" value="342" />
- <variable name="fileselector_part_wipe_height" value="588" />
- <variable name="fileselector_header_separatorheight" value="2" />[/COLOR]
[COLOR="Green"]+ <variable name="fileselector_y" value="151" />
+ <variable name="fileselector_part_x" value="167" />
+ <variable name="fileselector_width" value="480" />
+ <variable name="fileselector_part_width" value="313" />
+ <variable name="fileselector_install_height" value="526" />
+ <variable name="fileselector_part_height" value="121" />
+ <variable name="fileselector_backup_height" value="214" />
+ <variable name="fileselector_part_wipe_height" value="368" />
+ <variable name="fileselector_header_separatorheight" value="1" />[/COLOR]
<variable name="fileselector_separatorheight" value="1" />
[COLOR="Red"]- <variable name="fileselector_spacing" value="36" />
- <variable name="fileselector_part_spacing" value="8" />
- <variable name="fileselector_wipe_spacing" value="39" />
-
- <variable name="fastscroll_w" value="60" />[/COLOR]
[COLOR="Green"]+ <variable name="fileselector_spacing" value="23" />
+ <variable name="fileselector_part_spacing" value="5" />
+ <variable name="fileselector_wipe_spacing" value="24" />
+
+ <variable name="fastscroll_w" value="40" />[/COLOR]
<variable name="fastscroll_linew" value="1" />
[COLOR="Red"]- <variable name="fastscroll_rectw" value="16" />
- <variable name="fastscroll_recth" value="72" />
-
- <variable name="listbox_tz_height" value="693" />
- <variable name="listbox_spacing" value="36" />
-
- <variable name="textbox_spacing" value="16" />
- <variable name="textbox_separatorheight" value="2" />
-
- <variable name="terminal_console_width" value="656" />
- <variable name="terminal_console_height" value="390" />
- <variable name="terminal_button_divider_x" value="618" />
- <variable name="terminal_button_divider_y" value="50" />
- <variable name="terminal_button_x" value="620" />
- <variable name="terminal_button_y" value="74" />
- <variable name="terminal_path_x" value="250" />
-
- <variable name="slider_x" value="60" />
- <variable name="slider_y" value="1037" />
- <variable name="slider_text_y" value="1039" />
- <variable name="slidervalue_w" value="656" />
- <variable name="slidervalue_lineh" value="4" />
- <variable name="slidervalue_padding" value="20" />
- <variable name="slidervalue_sliderw" value="10" />
- <variable name="slidervalue_sliderh" value="60" />[/COLOR]
[COLOR="Green"]+ <variable name="fastscroll_rectw" value="11" />
+ <variable name="fastscroll_recth" value="45" />
+
+ <variable name="listbox_tz_height" value="433" />
+ <variable name="listbox_spacing" value="23" />
+
+ <variable name="textbox_spacing" value="10" />
+ <variable name="textbox_separatorheight" value="1" />
+
+ <variable name="terminal_console_width" value="437" />
+ <variable name="terminal_console_height" value="244" />
+ <variable name="terminal_button_divider_x" value="412" />
+ <variable name="terminal_button_divider_y" value="31" />
+ <variable name="terminal_button_x" value="413" />
+ <variable name="terminal_button_y" value="46" />
+ <variable name="terminal_path_x" value="167" />
+
+ <variable name="slider_x" value="40" />
+ <variable name="slider_y" value="648" />
+ <variable name="slider_text_y" value="649" />
+ <variable name="slidervalue_w" value="437" />
+ <variable name="slidervalue_lineh" value="3" />
+ <variable name="slidervalue_padding" value="13" />
+ <variable name="slidervalue_sliderw" value="7" />
+ <variable name="slidervalue_sliderh" value="38" />[/COLOR]
</variables>
<mousecursor>
[COLOR="Red"]- <placement w="15" h="15" />[/COLOR]
[COLOR="Green"]+ <placement w="9" h="9" />[/COLOR]
<background color="#FFFF00FF" resource="cursor" />
<speed multiplier="2.5" />
</mousecursor>
@@ -1847,37 +1847,37 @@
<template name="keyboardtemplate">
<object type="keyboard">
[COLOR="Red"]- <placement x="0" y="758" />[/COLOR]
[COLOR="Green"]+ <placement x="0" y="474" />[/COLOR]
<layout resource1="keyboard1" resource2="keyboard2" resource3="keyboard3" resource4="keyboard4" />
<highlight color="%highlight_color%" />
<capshighlight color="%highlight_color%" />
<layout1>
[COLOR="Red"]- <keysize height="106" width="72" />[/COLOR]
[COLOR="Green"]+ <keysize height="66" width="48" />[/COLOR]
<row1 key01="q" long01="1" key02="w" long02="2" key03="e" long03="3" key04="r" long04="4" key05="t" long05="5" key06="y" long06="6" key07="u" long07="7" key08="i" long08="8" key09="o" long09="9" key10="p" long10="0" />
[COLOR="Red"]- <row2 key01="108:a" long01="@" key02="s" long02="#" key03="d" long03="$" key04="f" long04="%" key05="g" long05="&" key06="h" long06="*" key07="j" long07="-" key08="k" long08="+" key09="108:l" long09="_"/>
- <row3 key01="108:layout2" key02="z" long02="!" key03="x" key04="c" long04="'" key05="v" long05=":" key06="b" long06=";" key07="n" long07="/" key08="m" long08="?" key09="108:c:8" />
- <row4 key01="108:layout3" key02="/" key03="360: " key04="." key05="108:a:action" />[/COLOR]
[COLOR="Green"]+ <row2 key01="68:a" long01="@" key02="s" long02="#" key03="d" long03="$" key04="f" long04="%" key05="g" long05="&" key06="h" long06="*" key07="j" long07="-" key08="k" long08="+" key09="68:l" long09="_"/>
+ <row3 key01="68:layout2" key02="z" long02="!" key03="x" key04="c" long04="'" key05="v" long05=":" key06="b" long06=";" key07="n" long07="/" key08="m" long08="?" key09="68:c:8" />
+ <row4 key01="68:layout3" key02="/" key03="240: " key04="." key05="68:a:action" />[/COLOR]
</layout1>
<layout2>
[COLOR="Red"]- <keysize height="106" width="72" capslock="0" revert_layout="1"/>[/COLOR]
[COLOR="Green"]+ <keysize height="66" width="48" capslock="0" revert_layout="1"/>[/COLOR]
<row1 key01="Q" long01="1" key02="W" long02="2" key03="E" long03="3" key04="R" long04="4" key05="T" long05="5" key06="Y" long06="6" key07="U" long07="7" key08="I" long08="8" key09="O" long09="9" key10="P" long10="0" />
[COLOR="Red"]- <row2 key01="108:A" long01="@" key02="S" long02="#" key03="D" long03="$" key04="F" long04="%" key05="G" long05="&" key06="H" long06="*" key07="J" long07="-" key08="K" long08="+" key09="108:L" long09="_"/>
- <row3 key01="108:layout1" key02="Z" long02="!" key03="X" key04="C" long04="'" key05="V" long05=":" key06="B" long06=";" key07="N" long07="/" key08="M" long08="?" key09="108:c:8" />
- <row4 key01="108:layout3" key02="/" key03="360: " key04="." key05="108:action" />[/COLOR]
[COLOR="Green"]+ <row2 key01="68:A" long01="@" key02="S" long02="#" key03="D" long03="$" key04="F" long04="%" key05="G" long05="&" key06="H" long06="*" key07="J" long07="-" key08="K" long08="+" key09="68:L" long09="_"/>
+ <row3 key01="68:layout1" key02="Z" long02="!" key03="X" key04="C" long04="'" key05="V" long05=":" key06="B" long06=";" key07="N" long07="/" key08="M" long08="?" key09="68:c:8" />
+ <row4 key01="68:layout3" key02="/" key03="240: " key04="." key05="68:action" />[/COLOR]
</layout2>
<layout3>
[COLOR="Red"]- <keysize height="106" width="72" />[/COLOR]
[COLOR="Green"]+ <keysize height="66" width="48" />[/COLOR]
<row1 key01="1" key02="2" key03="3" key04="4" key05="5" key06="6" key07="7" key08="8" key09="9" key10="0" />
<row2 key01="@" key02="#" key03="$" key04="%" key05="&" key06="*" key07="-" key08="+" key09="(" key10=")" />
[COLOR="Red"]- <row3 key01="108:layout4" key02="!" key03="72:c:34" key04="'" key05=":" key06=";" key07="/" key08="?" key09="108:c:8" />
- <row4 key01="108:layout1" key02="," key03="360: " key04="." key05="108:action" />[/COLOR]
[COLOR="Green"]+ <row3 key01="68:layout4" key02="!" key03="48:c:34" key04="'" key05=":" key06=";" key07="/" key08="?" key09="68:c:8" />
+ <row4 key01="68:layout1" key02="," key03="240: " key04="." key05="68:action" />[/COLOR]
</layout3>
<layout4>
[COLOR="Red"]- <keysize height="106" width="72" />
- <row1 key01="~" key02="`" key03="|" key04="72:" key05="72:" key06="72:" key07="%" key08="72:" key09="{" key10="}" />
- <row2 key01="72:" key02="72:" key03="72:" key04="72:" key05="72:" key06="^" key07="_" key08="=" key09="[" key10="]" />
- <row3 key01="108:layout3" key02="72:" key03="72:" key04="72:" key05="72:" key06="\" key07="<" key08=">" key09="108:c:8" />
- <row4 key01="108:layout1" key02="," key03="360: " key04="." key05="108:action" />[/COLOR]
[COLOR="Green"]+ <keysize height="66" width="48" />
+ <row1 key01="~" key02="`" key03="|" key04="48:" key05="48:" key06="48:" key07="%" key08="48:" key09="{" key10="}" />
+ <row2 key01="48:" key02="48:" key03="48:" key04="48:" key05="48:" key06="^" key07="_" key08="=" key09="[" key10="]" />
+ <row3 key01="68:layout3" key02="48:" key03="48:" key04="48:" key05="48:" key06="\" key07="<" key08=">" key09="68:c:8" />
+ <row4 key01="68:layout1" key02="," key03="240: " key04="." key05="68:action" />[/COLOR]
</layout4>
</object>
</template>
@@ -7388,7 +7388,7 @@
<colors line="%text_dark%" slider="%text_highlight%" />
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%" />
<text></text>
[COLOR="Red"]- <data variable="tw_screen_timeout_secs" min="15" max="300" />[/COLOR]
[COLOR="Green"]+ <data variable="tw_screen_timeout_secs" min="15" max="200" />[/COLOR]
</object>
<object type="text" color="%text_highlight%">
@@ -7405,7 +7405,7 @@
<colors line="%text_dark%" slider="%text_highlight%" />
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%" />
<text></text>
[COLOR="Red"]- <data variable="tw_brightness_pct" min="10" max="100" />[/COLOR]
[COLOR="Green"]+ <data variable="tw_brightness_pct" min="10" max="67" />[/COLOR]
<actions>
<action function="set">tw_brightness=%tw_brightness_max%</action>
<action function="compute">tw_brightness*%tw_brightness_pct%</action>
@@ -7499,7 +7499,7 @@
<placement x="col1_x" y="%row4_y%" w="%slidervalue_w%" />
<font resource="font_medium" color="%text%" />
<text></text>
[COLOR="Red"]- <data variable="tw_button_vibrate" min="0" max="300" />[/COLOR]
[COLOR="Green"]+ <data variable="tw_button_vibrate" min="0" max="200" />[/COLOR]
<colors line="%text_dark%" slider="%text_highlight%" />
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%" />
</object>
@@ -7514,7 +7514,7 @@
<placement x="col1_x" y="%row9_y%" w="%slidervalue_w%" />
<font resource="font_medium" color="%text%" />
<text></text>
[COLOR="Red"]- <data variable="tw_keyboard_vibrate" min="0" max="300" />[/COLOR]
[COLOR="Green"]+ <data variable="tw_keyboard_vibrate" min="0" max="200" />[/COLOR]
<colors line="%text_dark%" slider="%text_highlight%" />
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%" />
</object>
@@ -7529,7 +7529,7 @@
<placement x="col1_x" y="%row14_y%" w="%slidervalue_w%" />
<font resource="font_medium" color="%text%" />
<text></text>
[COLOR="Red"]- <data variable="tw_action_vibrate" min="0" max="500" />[/COLOR]
[COLOR="Green"]+ <data variable="tw_action_vibrate" min="0" max="333" />[/COLOR]
<colors line="%text_dark%" slider="%text_highlight%" />
<dimensions lineh="%slidervalue_lineh%" linepadding="%slidervalue_padding%" sliderw="%slidervalue_sliderw%" sliderh="%slidervalue_sliderh%" />
</object>
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/80288e65e2faba6051068b53e98c2fe3a83be613
Sent from my C525c using Tapatalk
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/dd70ffb30a18bc8b3667e684964412a35a02ee9b
Sent from my C525c using Tapatalk
Hey, I failed to mention that the gm binary in my repo is cross compiled for ARM devices. If someone wishes to compile gm for MIPS or x86, please share with me so I may include it to my repo. I only have an ARM based device so there is no point in me compiling gm for MIPS or x86 since I have no way to test and confirm that they work.
Sent from my C525c using Tapatalk
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/219e001dba63238fa9e6cc2ddaa7420939566795
Sent from my C525c using Tapatalk
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/0ca59da6cee637fc22bd555bc30a33dddf28b70b
I overlooked my last gm binary thinking it was truly static when compiled. However, I went back and noticed it was only partially compiled as static.
This has been fixed and it will also work with Android L.
Initially compiled for ARM.
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/3ef72ac1a43671f64cd69062fa0518ad21e49a98
Overhaul Update:
- Merged TWRPIMAGE and TWRPUI into one script called, TWRPPORTER
- Still kept old method but moved over to OLD folder.
- Updated root of README.md to reflect changes and instructions.
- Script will check system for gm and busybox. The script will inform you if neither are installed and then abort the script.
- Updated script to read and accept directory/filenames with spaces. The old method did not do this.
- Script will port the TWRP Images, or the TWRP ui, or BOTH based on the user's selection while running TWRPPORTER.
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/5df4977a68c0ad5de80ddcf8f3f1d37ced3efc30
NEW UPDATE:
- Bumped to version 3.0.
- GM binary has been embedded in to the TWRPPORTER script.
- TWRPORTER can install GM from extracting the embedded data itself as requested by the user.
- TWRPORTER can uninstall GM as requested by the user.
- If busybox is found not installed the script WILL abort after a quick warning to the user.
- Have added more checks to the script to keep it running smooth. Most is merely cosmetic work.
- At the end of the script is the GM binary data which has been embedded. DO NOT MESS WITH IT!
- GM will work for pre-jb devices and up. It is in compliance with Android L (current release). Initially compiled for ARM.
GM is causing problems when compiling it as true static. So, unfortunately, I must revert back to it being partially static. This means your device must be ARM. It most likely will not be in compliance with Android L . Feel free to confirm this. Will push the update to my repo shortly.
https://github.com/ModdingMyMind/TWRP_IMAGE_PORTER/commit/64982aadddde8de97a5d1c51181906683abf0c59
Fix:
- Bumped version to 3.1
- Revert back to partial static GM binary compiled for ARM.
- Note: True Static binary caused problems with source so had to revert.
- Binary is still embedded inside the script. If GM is installed from version 3.0 please uninstall and reinstall gm.
Hi bud,
Sorry the stupid question but, where I put the theme (I grab the black 720x1280 to port to 480x800) to be ported!!? It's my first time, so be kind:laugh:

[Q] ID_CAP_xxx

Hi,
How to know capabilities availlable for "WMAppManifest.xml" (xap 8.1).
I have converted my app 8.0 to 8.1. And now i can't deploy with all capabilities.
Thanks
You can still use the webserver (non-AllCaps version; I should fix that) to see all the capabilities that the phone supports; they're under HKLM\SOFTWARE\Microsoft\SecurityManager\Capabilities.
I should also release an updated version of the webserver that focuses on WP8.1 and has an AllCaps version for the 8.1 caps (and a bunch of other bugfixes I've been working on). I've been distracted for months now by a very exciting new project, though. I can't reveal the details yet, but it's big.
My problem is, i can deploy Xap 8.0 with this caps (for ex)
Code:
<Capability Name="ID_CAP_BINGCLIENT_SUGGESTSHIGHLIGHTS" />
<Capability Name="ID_CAP_BINGCLIENT_TEE" />
<Capability Name="ID_CAP_BLUETOOTH" />
<Capability Name="ID_CAP_BLUETOOTH_ADMIN" />
<Capability Name="ID_CAP_BMR_CONFIGURATION" />
<Capability Name="ID_CAP_BMR_SYNC" />
<Capability Name="ID_CAP_BMR2_MONITOR_SERVICE" />
<Capability Name="ID_CAP_BROKER_NAVIGATION" />
<Capability Name="ID_CAP_BROWSER_ACCESSIBILITY_SETTINGS" />
<Capability Name="ID_CAP_BROWSER_FEATURE_CONTROL_KEYS" />
<Capability Name="ID_CAP_BSS_AIM_INTERFACE" />
<Capability Name="ID_CAP_BSS_NABSYNC_INTERFACE" />
<Capability Name="ID_CAP_BSS_PUSH_INTERFACE" />
<Capability Name="ID_CAP_BSS_REMINDER_INTERFACE" />
<Capability Name="ID_CAP_BUILTIN_BASEPRIORITY" />
<Capability Name="ID_CAP_BUILTIN_CREATEGLOBAL" />
<Capability Name="ID_CAP_BUILTIN_CREATEPERMANENT" />
but can't in xap 8.1

Unity, Android Studios, Gradle Issues.

Hey Friends,
I am attempting to export a Unity Android Build and then import it into Android Studios.
The Catch here is that the exported version from Unity has to be in Gradle format so that a Gradle build machine could make a build with the project immediately, without first opening it in Android Studios.
My current issue is it seems to not be reading my apps .iml file properly?
I get this error when importing my assembled project into Android Studios:
Error:FAILURE: Build failed with an exception.
* What went wrong:
Task 'generateDebugSources' not found in project ':app'.
* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Thanks for your time and assistance, my iml to follow:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="AndroidApp" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":app" />
</configuration>
</facet>
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<afterSyncTasks>
<task>generateDebugSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build" />
<output-test url="file://$MODULE_DIR$/build" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/mediarouter-v7/23.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads-lite/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics-impl/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-appindexing/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-appinvite/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-auth-base/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-auth/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-base/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-cast/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-drive/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-fitness/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-games/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-gcm/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-identity/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-iid/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-location/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-maps/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-nearby/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-panorama/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-plus/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-safetynet/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-tagmanager-api/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-tagmanager/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-tasks/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-vision/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-wallet/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-wearable/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-analytics-impl/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-analytics/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-auth-common/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-auth-module/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-auth/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-common/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-config/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-crash/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-database-connection/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-database/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-iid/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-messaging/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-storage-common/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.firebase/firebase-storage/9.0.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/sourceFolderJavaResources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Categories

Resources