[Q] Shell Script help please - Android Software/Hacking General [Developers Only]

Hi there, so I have heard there's some way to write sh scripts for android?
I am wanting to make an easy way to randomly change one line in an XML file located on the flash. Meaning it'll need su priviledges.
Basically I'm wanting to make something that'll change the mobile id for grooveshark with one touch, so the trial wont expire (why oh why don't they go to their usual ad supported method?)
I want to make a shortcut on my home screen that I can touch to to reset my trial
Any pointers?
These are the contents of the XML file in /data/data/com.grooveshark.android.v1/
Grooveshark.xml:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="cc4">8765432198</string>
<string name="cc1">0</string>
<string name="cc2">0</string>
<boolean name="hasTrialStarted" value="true" />
<string name="cc3">0</string>
<int name="splashSponsoredExpires" value="0" />
<boolean name="trialHasExpired" value="false" />
<string name="cid">229</string>
<string name="loginUnPwToken">5f4dcc3b5aa765d61d8327deb882cf99</string>
<string name="username">username</string>
<string name="sessionID">c3a5a6eca887891b9bf69687badb7531</string>
<long name="mobileID" value="555554" />
<int name="sponsoredSplashCount" value="0" />
<int name="trialExpiresTime" value="1382277664" />
<int name="splashSponsorID" value="0" />
<boolean name="gs_tos_bool" value="true" />
<int name="trialNumPlays" value="0" />
</map>
I changed any numbers that'd allow you to auto log in as me
The important part is: <long name="mobileID" value="555554" />
that value has to change whenever your trial expires.
Can anyone give me some pointers? I don't need a tutorial, just an example of shell scripts on the home screen of android.

Well, I have an update. I couldn't find any good reference for shell scripts on linux, so I went ahead and just set up the SDK. I don't have too much java experience, bt I was able to get the interface made pretty easily using the online resources. Now I simply need to make the button in the app death the xml file, find that string and replace it with a random number. I anyone has some good examples of how to search and edit the contents of a file, that'd be awesome. Any takers?
Sent from my DROIDX using XDA App

any new??

Related

[GUIDE][23/01/2012] Placement of widgets when cooking a Sense ROM

This guide is basically for anyone who cooks ROMs and wants to add default widgets to any of the screens rather than the widgets HTC puts on the screens. Also if you remove some widgets from your ROM you will be left with blank screens so you can use those screens to add other widgets that are still in the ROM.
Cooking a ROM can be and is a nice experience and very educational too. After about a
year of cooking my own ROMs I decided to do what any other developer would do, learn
by trial and error and that is how I came by one my best discoveries so far, that is
where and how to place widgets in your Android ROM when you are cooking it. It is very
simple when you realise how simple it is. I don't know if anyone has it figured out
but after searching these forums for about 6 months nothing came up.
Right, let's get down and dirty with this. Here are the tools I used (anyone who cooks
ROMs should probably have them):
dsixda's kitchen - to decompile and recompile the ROMs
notepad++ - to edit various (text) files
7zip - to unzip archived files
apktool - to decompile and recompile apks
any ROM/update.zip -
other tools - will add these when they come up
Files to edit
-WORKING_******_******\system\customize\MNS\default.xml
-******widget\res\xml\***.xml
-******widget\AndroidManifest.xml
Install apktool and use it to decompress the apks for the widgets you need.
Anyway, hoping your computer is set up to use dsixda's kitchen, unpack your rom using
dsixda's kitchen (the kitchen) and navigate to
C:\cygwin\home\%user%\kitchen\%WORKING_******_******%\system\customize\MNS
Make a back up of and open default.xml with notepad++ and scroll down about half way
down till you get to
<function name="1_fx_widgets">
and that is where the widget placement begins. An example is
<function name="1_fx_widgets">
<set name="plenty">
<!--c91f1916-b3a3-4293-b989-1428041e73c4-->
<item name="package_name">com.htc.htccontactwidgets_3d_fusion</item>
<item name="widget_name">com.htc.htccontactwidgets_3d_fusion.ContactWidgetMatrix</item>
<item name="provider_name">com.htc.android.rosie.widget.provider</item>
<item name="screen">4</item>
<item name="cell_x">0</item>
<item name="cell_y">1</item>
<item name="span_x">4</item>
<item name="span_y">3</item>
<item name="property.group_name">Favorite_8656150684447252476_6727701920173350445</item>
<item name="property.sence_path">Port/People_4x3_ListView.m10</item>
<item name="property.item_path">Port/People_4x4_ListItem.m10</item>
</set>
<set name="plenty">
<!--2a59290f-8da8-4eba-a246-27a5df7c6246-->
<item name="package_name">com.htc.clock3dwidget</item>
<item name="widget_name">com.htc.clock3dwidget.weatherclock.WeatherClockWidgetView</item>
<item name="provider_name">com.htc.clock3dwidget.ClockWidgetProvider</item>
<item name="screen">3</item>
<item name="cell_x">0</item>
<item name="cell_y">0</item>
<item name="span_x">4</item>
<item name="span_y">2</item>
</set>
Click to expand...
Click to collapse
Next is to get the apk of the widget you want to use. In this case I used the clock widget which is
HtcClock3DWidget.apk. Use apktool to decompile it (7zip will unpack it but the xmls won't show up
properly in Notepad++). Go into the the decompressed folder 'htcclock3dwidget' (Windows ignores
and lowercase letters) and open 'AndroidManifest.xml'. The file should be as follows:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:sharedUserId="com.htc.rosie.uid.shared" android:versionCode="300254226" android:versionName="3.0.2211151065.254226" package="com.htc.clock3dwidget"
xmlns:android="http://schemas.android.com/apk/res/android">
<skip-erased />
<application android:label="@string/app_name" android:icon="@drawable/clock" android:hardwareAccelerated="false" allowSkinChange="true">
<uses-library android:name="com.htc.android.rosie" />
<uses-library android:name="com.htc.fusion.fx" />
<uses-library android:name="com.htc.lockscreen.fusion" />
<uses-feature android:name="com.htc.android.rosie.widget" />
<receiver android:label="@string/clock_widget_provider_label" android:icon="@drawable/clock" android:name="com.htc.clock3dwidget.ClockWidgetProvider" android:exported="true">
<intent-filter>
<action android:name="com.htc.android.rosie.intent.action.UPDATE_WIDGET" />
</intent-filter>
<meta-data android:name="com.htc.android.rosie.widget.provider" android:resource="@xml/clock_widget" />
</receiver>
<service android:label="@string/clock_widget_provider_label" android:name=".idlescreen.IdleScreenClockService">
<intent-filter>
<action android:name="com.htc.lockscreen.idlescreen.IdleScreenService" />
</intent-filter>
<meta-data android:name="com.htc.lockscreen.idlescreen" android:resource="@xml/idle_screen_clock" />
</service>
<service android:name=".idlescreen.IdleScreenPreviewService" androidrocess="review">
<intent-filter>
<action android:name="com.htc.lockscreen.idlescreen.preview.IdleScreenService" />
</intent-filter>
</service>
<activity android:theme="@android:style/Theme.NoTitleBar" android:label="@string/settings" android:name=".idlescreen.IdleScreenSettings" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
<activity android:theme="@style/ThemeTitle" android:label="@string/app_name" android:name=".setting.HtcWWPSetting" android:screenOrientation="unspecified">
<intent-filter>
<action android:name="OpenWWPSettings" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:theme="@style/ThemeTitle" android:name=".setting.HtcClockSetting" android:screenOrientation="unspecified">
<intent-filter>
<action android:name="OpenSettings" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="com.htc.widget.clockwidget/open_settings" />
</intent-filter>
</activity>
<activity android:theme="@style/ThemeTitle" android:name=".setting.ConfigWeatherClock" android:screenOrientation="unspecified">
<intent-filter>
<action android:name="OpenSettings" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="com.htc.widget.clockwidget/open_settings" />
</intent-filter>
</activity>
<activity android:theme="@style/ThemeTitle" android:name=".setting.ConfigAnalogClock" android:screenOrientation="unspecified">
<intent-filter>
<action android:name="OpenSettings" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="com.htc.widget.clockwidget/open_settings" />
</intent-filter>
</activity>
<activity android:theme="@style/ThemeTitle" android:name=".setting.ConfigDigitalClock" android:screenOrientation="unspecified">
<intent-filter>
<action android:name="OpenSettings" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="com.htc.widget.clockwidget/open_settings" />
</intent-filter>
</activity>
<activity android:theme="@style/ThemeTitle" android:name=".setting.ConfigDualClock" android:screenOrientation="unspecified">
<intent-filter>
<action android:name="OpenSettings" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="com.htc.widget.clockwidget/open_settings" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="com.htc.htctwitter.permission.useprovider" />
<uses-permission android:name="com.htc.socialnetwork.plurk.permission.useprovider" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="htc.permission.weather.USE_DATA" />
<uses-permission android:name="htc.friendstream.permission.SYSTEM_USE" />
<uses-permission android:name="htc.pluginmanager.permission.USE_PROVIDER" />
</manifest>
Click to expand...
Click to collapse
In default.xml from the (working_folder)\system\customise\mns\ the default clock widget
settings are:
<set name="plenty">
<!--2a59290f-8da8-4eba-a246-27a5df7c6246-->
<item name="package_name">com.htc.clock3dwidget</item>
<item name="widget_name">com.htc.clock3dwidget.weatherclock.WeatherClockWidgetView</item>
<item name="provider_name">com.htc.clock3dwidget.ClockWidgetProvider</item>
<item name="screen">3</item>
<item name="cell_x">0</item>
<item name="cell_y">0</item>
<item name="span_x">4</item>
<item name="span_y">2</item>
</set>
Click to expand...
Click to collapse
This is for the large default clock in HTC Sense which occupies half the screen. I decided to
go for the new clock which takes up one line at the top of the screen. Right, to edit it to get
the new clock to come up when I cook my rom in the main homescreen which is screen 3 (the
fourth screen from the far left) (the screen counting starts from 0) I need "package_name",
"widget_name", "provider_name" and "span_y".
For "package_name" this is found in 'AndroidManifest.xml' in the decompiled 'htcclock3dwidget'
folder. It is found in one of the first lines
<manifest android:sharedUserId="com.htc.rosie.uid.shared" android:versionCode="300254226" android:versionName="3.0.2211151065.254226" package="com.htc.clock3dwidget"
Click to expand...
Click to collapse
as 'package' after 'android:versionName' so the "package_name" is
'com.htc.clock3dwidget'
For "widget_name" it is a little tricky. Navigate to 'htcclock3dwidget\res\xml' and open 'clock_widget.xml'
in Notepad++. The file looks like this (it is more or less this file, lol):
<?xml version="1.0" encoding="utf-8"?>
<rosie-widget
xmlns:rosie="http://schemas.android.com/apk/res/com.htc">
<style rosie:id="clockweather" rosie:label="@string/widget_weather_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_weather" rosie:date="@string/simple_widget_date" rosie:name=".weatherclock.WeatherClockWidgetView" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigWeatherClock" rosie:span_x="4" rosie:span_y="2" />
<style rosie:id="clockweather41" rosie:label="@string/widget_weather_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_weather_4x1" rosie:date="@string/simple_widget_date" rosie:name=".ClockWeather_4x1" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigWeatherClock" rosie:span_x="4" rosie:span_y="1" />
<style rosie:id="clockSocial" rosie:label="@string/widget_social_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_social" rosie:date="@string/simple_widget_date" rosie:name=".socialclock.SocialClockWidgetView" rosie:span_x="4" rosie:span_y="2" />
<style rosie:id="clockDigital" rosie:label="@string/widget_digital_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_digital" rosie:date="@string/simple_widget_date" rosie:name=".ClockDigital" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigDigitalClock" rosie:span_x="2" rosie:span_y="1" />
<style rosie:id="clockDual" rosie:label="@string/widget_dual_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_dual" rosie:date="@string/simple_widget_date" rosie:name=".ClockDual" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigDualClock" rosie:span_x="4" rosie:span_y="2" />
<style rosie:id="clock03" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock03" rosie:date="@string/simple_widget_date" rosie:name=".Clock03" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock2x2" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock2x2" rosie:date="@string/simple_widget_date" rosie:name=".Clock2x2" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="2" rosie:span_y="2" />
<style rosie:id="clock04" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock04" rosie:date="@string/simple_widget_date" rosie:name=".Clock04" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock05" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock05" rosie:date="@string/simple_widget_date" rosie:name=".Clock05" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock06" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock06" rosie:date="@string/simple_widget_date" rosie:name=".Clock06" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock07" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock07" rosie:date="@string/simple_widget_date" rosie:name=".Clock07" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock08" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock08" rosie:date="@string/simple_widget_date" rosie:name=".Clock08" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock09" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock09" rosie:date="@string/simple_widget_date" rosie:name=".Clock09" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock10" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock10" rosie:date="@string/simple_widget_date" rosie:name=".Clock10" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clockBeam" rosie:label="@string/widget_beam_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_beam" rosie:date="@string/simple_widget_date" rosie:name=".ClockBeam" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clockRing" rosie:label="@string/widget_ring_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_ring" rosie:date="@string/simple_widget_date" rosie:name=".ClockRing" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clockSpinCycle" rosie:label="@string/widget_spin_cycle_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_spin_cycle" rosie:date="@string/simple_widget_date" rosie:name=".ClockSpinCycle" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="4" rosie:span_y="3" />
<style rosie:id="clock1x1" rosie:label="@string/widget_analog_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock1x1" rosie:date="@string/simple_widget_date" rosie:name=".Clock1x1" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigAnalogClock" rosie:span_x="1" rosie:span_y="1" />
</rosie-widget>
Click to expand...
Click to collapse
In my case I want to use the smaller newer clock (but any can do depending on which clock you want
to use) which is found on this line:
<style rosie:id="clockweather41" rosie:label="@string/widget_weather_clock" rosie:description="@string/widget_detail" rosiereview="@drawable/preview_clock_weather_4x1" rosie:date="@string/simple_widget_date" rosie:name=".ClockWeather_4x1" rosie:configure="com.htc.clock3dwidget/com.htc.clock3dwidget.setting.ConfigWeatherClock" rosie:span_x="4" rosie:span_y="1" />
Click to expand...
Click to collapse
The name of the clock widget I want to use is found after 'rosie:name' which is ".ClockWeather_4x1".
So for "widget_name" I use "package_name"+'rosie:name' which makes it
'com.htc.clock3dwidget.ClockWeather_4x1'
For 'provider_name' that's a bit more difficult but after trial and error I found that it is
found in 'AndroidManifest.xml' of the clock widget on the line
<receiver android:label="@string/clock_widget_provider_label" android:icon="@drawable/clock" android:name="com.htc.clock3dwidget.ClockWidgetProvider" android:exported="true">
Click to expand...
Click to collapse
so 'provider_name' is 'android:name' before 'android:exported' which is
'com.htc.clock3dwidget.ClockWidgetProvider'
This becomes
<item name="package_name">com.htc.clock3dwidget</item>
<item name="widget_name">com.htc.clock3dwidget.ClockWeather_4x1</item>
<item name="provider_name">com.htc.clock3dwidget.ClockWidgetProvider</item>
Click to expand...
Click to collapse
'cell_x' and 'cell_y' remain untouched because I want it at the top of the screen starting
from the left (you place it where you want using cell_x and cell_y). 'span_x' stays at '4'
(because it occupies 4 cells going to the left) but 'span_y' becomes '1' because it occupies
1 cell going down. The clock widget settings section finally becomes
<set name="plenty">
<!--2a59290f-8da8-4eba-a246-27a5df7c6246-->
<item name="package_name">com.htc.clock3dwidget</item>
<item name="widget_name">com.htc.clock3dwidget.ClockWeather_4x1</item>
<item name="provider_name">com.htc.clock3dwidget.ClockWidgetProvider</item>
<item name="screen">3</item>
<item name="cell_x">0</item>
<item name="cell_y">0</item>
<item name="span_x">4</item>
<item name="span_y">1</item>
</set>
Click to expand...
Click to collapse
And that's just for the clock widget. The format is more or less the same for the other widgets. By the way, if you mess up the widget won't show but the widget itself won't be affected so you can manually add it. You will notice there are settings for other widgets that don't show up on any of the screens.
Oh, I think the process works the same for all phones as long as they have HTC Sense. If anyone has any questions please please please feel free to ask. We are all here to learn. I added bookmarks widget to replace friendstream widget which I don't need and re-added weather widget to first the first screen, shifted navigation widget and fellow widgets to last screen and added htc notes widget to their screen. The power is in your hands. As I said before, I couldn't find the information I needed anywhere so I had to hunt it down in the files mentioned above using my hunch and I found it. Whatever you want or need the answers are out there, you just need to find them
I have attached some screenshots. You might notice there's nothing special to them because you can change them after installing your ROM but that's how my screens look when I install my ROM so I don't have to change them anymore.
Many many thanks go to
football
mike1986
robocik, capychimp
baadnewz
dsixda
hawke84
faux123, sebastianfm
apktool guy
and many others from back in the days of wm2003
Since you already opened the default.xml file you might as well scroll a little further down and you will come this section
<module name="Browser">
<function name="bookmark">
Click to expand...
Click to collapse
That is the section with the default bookmarks for the bookmarks widget so you can add and remove sites so they come up by default. This section looks like this by default
<module name="Browser">
<function name="bookmark">
<set name="plenty">
<!--%%File%%-->
<item name="title">HTC</item>
<item name="url">http://www.htc.com</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">Google</item>
<item name="url">http://www.google.com</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">Yahoo!</item>
<item name="url">http://www.yahoo.com</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">Wiki</item>
<item name="url">http://www.wikipedia.org</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">Twitter</item>
<item name="url">http://twitter.com</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">Facebook</item>
<item name="url">http://www.facebook.com</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">AccuWeather</item>
<item name="url">http://www.accuweather.com/m/default.aspx?p=htcand&loc</item>
</set>
<set name="plenty">
<!--%%File%%-->
<item name="title">Lonely Planet</item>
<item name="url">http://www.lonelyplanet.com</item>
</set>
Click to expand...
Click to collapse
I added xdadevelopers to the list but you can add more if you want or remove some too.
Had another look at that ...system\customise\mns\default.xml. Looks like the '<function name="1_fx_widgets">' section up to '<function name="5_fx_widgets">' are the scenes for the scene picker part of hts sense. Even further down are the default apps that come with each scene. All you have to do is add or change your widgets, take screenshots, add screenshots to '...\system\customise\resource\' folder, fiddle with the naming then jump into the default.xml file and take it from there. Will update as I keep testing on my phone. God help this phone, lol.
reserved for even more info
merci beaucoup, monsieur can use this for future plans
, thanks for posting it!
Hi, can you show how to enable chinese input on HTC IME?
seadersn said:
merci beaucoup, monsieur can use this for future plans
, thanks for posting it!
Click to expand...
Click to collapse
M head's pounding right now considering I have already flashed my phoned about 9 times in the past 4 hours trying to get other widgets to work by default at first boot but thanks very much for the post seadersn. I'll update it a bit more because even with this info I am a bit confused myself, lol.
hengmy said:
Hi, can you show how to enable chinese input on HTC IME?
Click to expand...
Click to collapse
hi hengmy. I am sorry I cannot help at the moment but I guess one of the other hardened developers can. Thanks for asking anyway
ok, let's have a deeper look into it. maybe i will find some time today for playing with this, too; but first: dentist ;( i hope i'm able to do anything today after massacre's over...
Right, for anybody interested, I have edited my guide a little bit more and it's a little clearer now. The guide is basically for anyone who cooks ROMs and wants to add default widgets to any of the screens rather than the widgets HTC puts on the screens. Also if you remove some widgets from your ROM you will be left with blank screens so you can use those screens to add other widgets that are still in the ROM.
seadersn said:
ok, let's have a deeper look into it. maybe i will find some time today for playing with this, too; but first: dentist ;( i hope i'm able to do anything today after massacre's over...
Click to expand...
Click to collapse
Hi seadersn. Hope your trip to the dentist went ok . I redid the guide and I hope you can make some good use out of it. Any questions you have I'll try to answer but for now stay strong my friend.
thx, thx tomorrow and friday are next dentist visits longer taking thingy; replacement of three teethes
tmr is wednesday? kk, will start my testimonials in thursday: head / brain should be free then i'll contact you; i thought that there have to be a 'master index file' for that. if, then it will be found by us
gn8, maestro
well good luck with the dentist. but getting three teeth out, you must be a hero, lol. last time i went to the dentist was about 15yrs ago. i'd rather somebody punch my teeth out, lol.
anyway, from the way i see things i think those may be the 'master index files' for the default widget placement when cooking your roms. of course you can change them back. i had got fed up with changing my widgets everytime i flashed my phone so the quest began. so now i can get widgets of my choosing onto screens of my choosing before i cook and flash my rom. so it's not really something special but will come in handy for a chef. imagine cooking your own rom and having one of those fancy analogue clocks come up by default when you install your rom (of course you can change it back) and maybe a whole set of settings widgets on, hmm, maybe the last screen, for example? and that's how you might like it but how about those become your default screens for your custom roms?
i was fed of hanging around in the shadows for so many years, lol. and again, good luck with the dentist. remember to drink loads of water
I just use sqlite editor to get widget values from favourites in HTC launch database. Easy peezy lemon sqeezey
Sent from my HTC Sensation using xda premium
richmondo said:
I just use sqlite editor to get widget values from favourites in HTC launch database. Easy peezy lemon sqeezey
Sent from my HTC Sensation using xda premium
Click to expand...
Click to collapse
thank richmondo. will try and look into that . right now i am continuously scratching my head to get some of the widgets to show up and all the scrolling up and down and copy-pasting stuff is doing my head in, lol. wld love to find an easier method
nice
Hope the mods find this and move it to chef central.
Does seem to work on all HTC phones.
This is an awesome reference thread.
Well done.
Rob
other languages
hengmy said:
Hi, can you show how to enable chinese input on HTC IME?
Click to expand...
Click to collapse
Not sure of input as this may require a library added to the keyboard of choice; however, languages are added fairly simply ASSUMING you use a WWE base rom. You just add the language and country code into the default.xml in the CID folder. Example WFS has their latest and greatest called the Euro... Well it has lots of English choices but not for the US; so a bit of copying.. then edit your copy set to en_US et voila it will show up (and set up if chosen) upon factory reset. Language always fist two digit code and in lowercase; Country 2nd set and in caps.
Now sometimes I should warn a rom may use multiple CID setup profiles if so you could spy it in the /resouce/ccinfo.txt file. I would advise knocking out the multiples and setting it to default unless you just feel like complicating your life. Logic path is build.prop to ccinfo.txt to the various default.xml's (which then often have external carrier .xmls referenced in UI strings) and a root of customize directory file which has build number and whatnot [verification purposes mostly]. After that, your own your own, but understanding the logic path helps me not go insane
Now... Speaking of keyboards, how you guys figure the "short" name to add lessay Hacker's Keyboard, my personal fav generic in mns default.xml.. other keyboard names are indeed short; so I'm kinda guessing its not the package name.
Sidenote to change input in some if not most keyboards you dl the appropriate language library... Hacker's has many, and swype the spacebar, add the lib in the input settings et voila. Cooking that in however... Still learning.
TIA,
Rob

[REQ] Hack App to show Hidden Setting

I was wondering if someone could tweak this app to show a hidden setting, I've looked into several XML files in this APK and I can see that in the Global Settings the setting to Enable 3G/4G but when you use the program and go into the settings it is hidden, the Disable HD Purchase warning does show.
I'm hoping if someone can tweak this and re-sign the APK I can use it to view videos over cell connection! Thanks for you help
default_settings.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:id="@id/PreferenceScreen"
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/settings_general_section" android:key="general_settings">
<CheckBoxPreference android:title="@string/bypass_hd_notice" android:key="bypass_HD_Notice" android:summary="@string/bypass_hd_summary" />
<CheckBoxPreference android:title="@string/bypass_wifi_notice" android:key="bypass_Wifi_Notice" android:summary="@string/bypass_wifi_summary" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/settings_info_section">
<Preference android:enabled="false" android:title="@string/deviceID" android:key="deviceID" />
<Preference android:enabled="false" android:title="@string/version_notice" android:key="buildNum" android:summary="unknown" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/settings_account_section" android:key="account_settings" />
</PreferenceScreen>
No such luck huh? well can anyone give me any hints as to how to make this happen?
Is anyone looking into it?
ive been looking into this too, there seems to be a lot of hidden settings on the app, havent had much luck though.

[Q] mp3's won't load anymore

For the last few months when I open mxplayer I see my videos and mp3's. Videos open but when I click on a song MXplayer just disappears. I downloaded AIO Pack codecs and it shows under MXPlayer Help as being used. Is there something else I can try? Thanks
Rav45 said:
For the last few months when I open mxplayer I see my videos and mp3's. Videos open but when I click on a song MXplayer just disappears. I downloaded AIO Pack codecs and it shows under MXPlayer Help as being used. Is there something else I can try? Thanks
Click to expand...
Click to collapse
Are you getting any audio or not?
ktsamy said:
Are you getting any audio or not?
Click to expand...
Click to collapse
Yes. Audio works fine on videos and also streaming podcasts using mxplayer. When I begin the program it shows whatever videos, recordings and mp3's I have on my phone. However when I click a music mp3 it's as if the program just automatically closes.
Rav45 said:
Yes. Audio works fine on videos and also streaming podcasts using mxplayer. When I begin the program it shows whatever videos, recordings and mp3's I have on my phone. However when I click a music mp3 it's as if the program just automatically closes.
Click to expand...
Click to collapse
Kindly upload the logs. It will be helpful to resolve the issue
ktsamy said:
Kindly upload the logs. It will be helpful to resolve the issue
Click to expand...
Click to collapse
Thanks for the reply. I took me a while to figure out how to find the log and then how to get it off my phone to the pc.
I hope this is what you mean:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <mx-player application="mx_player" version-code="82" version-name="1.7.36a">
- <preferences>
<bool name="omxdecoder.2" value="true" />
<bool name="default_deinterlace" value="false" />
<int name="gestures" value="1017" />
<bool name="back_to_list" value="false" />
<bool name="android_40_compatible_mode.2" value="false" />
<int name="noticed_version" value="82" />
<bool name="battery_clock_in_title_bar" value="false" />
<bool name="swdecoder_net" value="false" />
<bool name="quick_zoom" value="true" />
<string name="user_locale" value="" />
<bool name="group_by_folder" value="true" />
<bool name="osd_background" value="true" />
<bool name="osd_bottom" value="false" />
<bool name="pause_on_seek" value="false" />
<bool name="loading_circle_animation" value="true" />
<string name="core_limit" value="0" />
<bool name="smart_prev" value="true" />
<bool name="show_hidden" value="false" />
<bool name="sync_system_volume" value="true" />
<bool name="delete_subtitle_files_together" value="true" />
<bool name="video_zoom_limited" value="false" />
<bool name="fast_seek" value="true" />
<bool name="mark_last_played_media_for_each_folders" value="true" />
<string name="new_tagged_period" value="7" />
<bool name="resume_only_first" value="false" />
<bool name="sticky_audio" value="true" />
<string name="custom_codec.libname" value="libffmpeg.mx.so.neon.1.7.32" />
<float name="screen_brightness" value="1.0" />
<string name="resume_last" value="resume" />
<bool name="omxdecoder_net" value="false" />
<bool name="audio_fade_in_on_start" value="true" />
<int name="video_zoom" value="0" />
<long name="custom_codec.date.libffmpeg" value="1418774964000" />
<bool name="quit_button" value="false" />
<int name="osd_text_color" value="-3355444" />
<bool name="allow_edits" value="true" />
<int name="fullscreen" value="2" />
<bool name="omxdecoder_notified" value="true" />
<bool name="default_swaudio" value="true" />
<bool name="thumbnail" value="false" />
<string name="color_format" value="rgb565" />
<int name="screen_orientation" value="99999" />
<bool name="omxdecoder_10bit" value="false" />
<int name="osd_back_color" value="-2013265920" />
<bool name="screen_brightness_auto" value="false" />
<bool name="audio_focus" value="true" />
<bool name="button_backlight_off" value="true" />
<bool name="headset_show_system_volume_ui" value="true" />
<bool name="status_show_always" value="false" />
<float name="calibrate_hw_play_position" value="0.0" />
<bool name="use_speedup_tricks" value="false" />
<bool name="keep_screen_on" value="false" />
<bool name="elapsed_time_show_always" value="false" />
<bool name="audio_fade_in_on_seek" value="true" />
<bool name="omxdecoder_local" value="true" />
<bool name="subtitle_hw_accel" value="true" />
<bool name="omx_audio_with_sw_video" value="true" />
<bool name="hw_audio_track_selectable" value="true" />
<int name="screen_lock_mode" value="0" />
<bool name="volume_boost" value="true" />
<bool name="lock_show_interface" value="false" />
<int name="playback_touch_action" value="2" />
<int name="interface_auto_hide_delay" value="2000" />
<bool name="respect_nomedia" value="true" />
<bool name="show_interface_at_the_startup" value="true" />
<bool name="toggle_on_media_play_button" value="false" />
<bool name="soft_main_keys" value="false" />
<int name="over_volume" value="15" />
<bool name="pause_if_obscured" value="false" />
<bool name="correct_hw_aspect_ratio" value="true" />
<bool name="double_tap_back_key" value="false" />
<int name="custom_codec.size.libffmpeg" value="40214441" />
<bool name="seek_previews" value="true" />
<bool name="screen_rotation_button" value="true" />
<bool name="sticky" value="false" />
<string name="custom_codec" value="/storage/emulated/0/Download/aio.1.7.32-2.zip" />
<bool name="shuffle" value="false" />
<bool name="media_buttons" value="true" />
<int name="lock_mode" value="0" />
<bool name="show_left_time" value="false" />
<long name="custom_codec_checksum" value="3478287755" />
<bool name="swdecoder_local" value="false" />
<bool name="cache_thumbnail" value="true" />
<string name="list_theme" value="white" />
<component name="play_link" value="true" />
<component name="audio_player" value="true" />
</preferences>
</mx-player>
I still would like to try to use mx player to play my mp3's.
Rav45 said:
Thanks for the reply. I took me a while to figure out how to find the log and then how to get it off my phone to the pc.
I hope this is what you mean:
Click to expand...
Click to collapse
JFTR that is a configuration file, not a log.
foxidriver said:
JFTR that is a configuration file, not a log.
Click to expand...
Click to collapse
Rats. Do I have to install another app to do this?
I see something called "MX Log Collector" when I search for how to get log for mxplayer.
I think I've gone a ways to solve my own problem? What I've bee trying to do was 1st open mx player.It shows a selection for videos, music etc. When I navigate to the music part and see my mp3's I select one. Then the mxplayer window closes and nothing happens. Today I went to my es file explorer. Found the mp3 file, clicked it and then it asked me which player I wanted to use to play it. I selected the mxplayer and it started playing!
Rav45 said:
When I navigate to the music part and see my mp3's I select one. Then the mxplayer window closes and nothing happens. Today I went to my es file explorer. Found the mp3 file, clicked it and then it asked me which player I wanted to use to play it. I selected the mxplayer and it started playing!
Click to expand...
Click to collapse
I'm assuming here that MX Player is still not playing them when you open one from within MX Player
You might like to try this:
save your settings from the MX Player general menu,
uninstall MX Player
play an MP3 file using the default system or another app you have loaded - and MX Player will no longer be registered so you should see the selection menu
reinstall MX Player
play any MP3 file - and by rights I think you will see the menu again to select the player you wish to use so reselect MX Player
See if that helps the situation - and then reload your saved settings.
If there is still a problem then try a basic MP3 file to see if that plays - say with a lower bitrate around 128 Kbit, stereo, CBR
Re the log - you are on the right track I think: see here https://sites.google.com/site/mxvpen/faq#TOC-How-to-send-system-log-
I'm not permitted to post a URL at this stage - copy and paste it.
Rav45 said:
Rats. Do I have to install another app to do this?
I see something called "MX Log Collector" when I search for how to get log for mxplayer.
I think I've gone a ways to solve my own problem? What I've bee trying to do was 1st open mx player.It shows a selection for videos, music etc. When I navigate to the music part and see my mp3's I select one. Then the mxplayer window closes and nothing happens. Today I went to my es file explorer. Found the mp3 file, clicked it and then it asked me which player I wanted to use to play it. I selected the mxplayer and it started playing!
Click to expand...
Click to collapse
There's already a sticky topic about log collection.
http://forum.xda-developers.com/showthread.php?t=2843144
foxidriver said:
I'm assuming here that MX Player is still not playing them when you open one from within MX Player
You might like to try this:
save your settings from the MX Player general menu,
uninstall MX Player
play an MP3 file using the default system or another app you have loaded - and MX Player will no longer be registered so you should see the selection menu
reinstall MX Player
play any MP3 file - and by rights I think you will see the menu again to select the player you wish to use so reselect MX Player
See if that helps the situation - and then reload your saved settings.
If there is still a problem then try a basic MP3 file to see if that plays - say with a lower bitrate around 128 Kbit, stereo, CBR
Re the log - you are on the right track I think: see here https://sites.google.com/site/mxvpen/faq#TOC-How-to-send-system-log-
I'm not permitted to post a URL at this stage - copy and paste it.
Click to expand...
Click to collapse
OK Thanks. I'll give that a try.
Rav45 said:
For the last few months when I open mxplayer I see my videos and mp3's. Videos open but when I click on a song MXplayer just disappears. I downloaded AIO Pack codecs and it shows under MXPlayer Help as being used. Is there something else I can try? Thanks
Click to expand...
Click to collapse
I have had the same issue. I discovered this only happens to me when I have 1274 or less mp3's in my music folder. 1275 or more and it does the same for me also.

Modding - Tweaks - General Changes - Information Sharing

Modding - Tweaks - General Changes - Information Sharing​
Hi all firstly i would like to say i am very much still a learner when it come to Android modding and have only been doing this for a couple of months as something new to keep me learning, This is just a thread i am using to keep some of the information and edits i utilise, due to the fact i have 6 kids busy life and bad memory i thought it a good idea to keep this somewhere besides my PC for future reference.
Thread Requirements.
1. Basic knowledge of compiling and decompiling apk and jar files so they can be edited.
2. Notepad++ Download
3. APK editing tool - I have been using APK Multi Tool Version 2.0 WIP
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I will start with CustomSettings.apk as i am editing quite often at this time,
I take no credit for this amazing apk that credit goes completely to ficeto
All drawable icons unless already included will have to be added by the modder
Adding CustomSettings.apk to SecSettings
Firstly you will need to register customsettings to your system to do this
1. pull/extract your SecSettings.apk and decompile it
2.open res/xml/display_headers add line anywhere in display_headers ( where you place it will vary where its shown in phone menu )
Example i placed mine just after the line
Code i placed mine after
Code:
<header android:id="@id/setting_search">
<intent android:targetPackage="com.android.settings" android:targetClass="com.android.settings.search.SearchMain" />
</header>
Code to add to display_headers
Code:
<header android:title="@string/BlaizzrRom" />
<header android:icon="@drawable/ic_settings_blaizzr" android:title="@string/Rom_Ext_Fea">
<intent android:targetPackage="com.ficeto.customsettings" android:action="android.intent.action.MAIN" android:targetClass="com.ficeto.customsettings.RandomActivity" />
</header>
Now open res/values/strings.xml and add these lines, You can change the highlighted text in RED to whatever you want to display in you'r menu, The GREEN highlight text is the Category text
Code to add to Strings[/B
Code:
<string name="Rom_Ext_Fea">[COLOR="Red"]Extended Features[/COLOR]</string>
<string name="BlaizzrRom">[COLOR="Lime"]Blaizzr Rom Settings[/COLOR]</string>
Save\ Recompile Secsettings\ Ensure CustomSettings.apk is already on phone and permissions set correct, push SecSettings to phone set permissions restart and you should now have your extended menu displayed.
It wont really do much ATM until there are some options added..
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Naming CustomSettings Menu
Once you have CustomSettings registered to your system you may want to rename to new menu to better suit your custom rom, To do this
1. decompile Customsettins.apk
2. go res/value/strings.xml
3 Find the entry named " app_name " change this to whatever you want the new menu to be registered as within your system.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CustomSettings clickable changing menu headers ( pics )
This one has abit more to it to follow, i will try and make it easy to understand ( sorry if it gets confusing )
1. select 2 pics you wish to use for your headers, name them to easily identify, preferably bnp format but it does not matter to much, i have used gif,jpeg and other with success ( gifs dont animate though )
2. add selected pics to customsettings/res/drawable
3. in same drawable folder create 2 new xml files call these anything you like but it may be usefull to name them something like "rombanner01" & rombanner02 for easy callback
4. in rombanner01.xml add this code ( red highlight area is where you add the name of your pic, same pic name in both entries )
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/[COLOR="Red"]addsecondpicnamehere[/COLOR]" />
<item android:state_selected="true" android:drawable="@drawable/[COLOR="Red"]addsecondpicnamehere[/COLOR]" />
<item android:drawable="@drawable/rombanner02" />
</selector>
5. in rombanner02 add this code ( red highlight area is where you add the name of your other pic )
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="3000" android:drawable="@drawable/[COLOR="Red"]addfirstpicnamehere[/COLOR]" />
</animation-list>
6.goto res/loyout and create a new xml file ( name it anything you want for this guide i will use rombanner.xml) add this code
In this code set android:layout_width to the screen width of your device, --- change android:layout_height to the height you want your pic to display at.
Code:
<?xml version="1.0" encoding="utf-8"?>
<ImageView android:layout_gravity="center" android:paddingBottom="3.0dip" android:clickable="true" android:layout_width="1080.0px" android:layout_height="225.0px" android:src="@drawable/rombanner01" android:scaleType="fitXY"
xmlns:android="http://schemas.android.com/apk/res/android" />
7. Now ensure all these new xml files are saved. Now open res/xml/prefences.xml
add this code right below the xmlns:android="http://schemas.android.com/apk/res/android"> line of text ( highlighed red text is where you add the name of your new layout.xml )
Code:
<PreferenceScreen android:layout="@layout/[COLOR="Red"]rombanner[/COLOR]" android:selectable="true" android:key="rom_logo" />
Now recompile your customsettings push to phone and set correct properties and check your new menu you should now have your pic at top of new menu page and when you press it it should switch to your alt picture.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CustomSettings general pages setup
Everything related to page setup is basically controlled by the res/xml/preferences.xml
to setup a basic page you would use code ( the space between the code would be filled with your code for on that page.
Code:
<PreferenceScreen android:title="Basic Apps Control" android:summary="Control over some of the included applications">
</PreferenceScreen>
Above code will create a page called Basic Apps Control, with a subtext of Control over some of the included applications
CustomSettings adding sub-header / Category
This is used to split pages into sub Categories the code is
Code:
<PreferenceCategory android:title="Application Selection">
</PreferenceCategory>
Above code will create a category called Application selection.
To utilise together we just add them together, Firstly we create the page itself then we add the sub category like so
Code:
<PreferenceScreen android:title="Basic Apps Control" android:summary="Control over some of the included applications">
<PreferenceCategory android:title="Application Selection">
</PreferenceCategory>
</PreferenceScreen>
adding your code between them will add the that item to this page in this category. eg
Code:
<PreferenceScreen android:title="Basic Apps Control" android:summary="Control over some of the included applications">
<PreferenceCategory android:title="Application Selection">
<Preference android:icon="@drawable/ic_SuperSu" android:title="SuperSu" android:key="activity;eu.chainfire.supersu;eu.chainfire.supersu.MainActivity" android:summary="Root Access Control" />
</PreferenceCategory>
</PreferenceScreen>
Will add a tab for superSu and launch the application upon being selected
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This is just the start there is much more to come, sorry i can only add info as i get chance and i will continue to add as i go, if there are any questions or anything else please ask, and if you have any guides you would like to share then please let me know and i will add/link them
Hope this helps someone somewhere and not just me lol
BongOfWar
3minit quick launch and S Finder, Quick Connect on one panel with toggle Android L
First i take no credit for the quick launch mod that belongs to @gharrington
You will need to download 3minit quick launcher smali from here
Just grab the smali files as the codes on there do not work for Lillipop.
now decompile SystemUI.apk and goto..
SystemUI.apk\res\layout open quick_connect_layout_zero.xml
Change it to following:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/sfinder_qconnect_layout" android:background="@drawable/quick_connect_layout_bg" android:focusable="true" android:descendantFocusability="afterDescendants" android:layout_width="fill_parent" android:layout_height="@dimen/finder_connect_layout_height"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<HorizontalScrollView android:scrollbars="none" android:layout_width="fill_parent" android:layout_height="@dimen/3minit_quick_layout_height">
<com.android.systemui.statusbar.policy.quicklaunch.QuickLaunchContainer android:gravity="center" android:layout_width="wrap_content" android:layout_height="@dimen/3minit_quick_layout_height" android:layout_centerHorizontal="true" />
</HorizontalScrollView>
<LinearLayout android:orientation="vertical" android:id="@id/sfinder_qconnect_layout" android:focusable="true" android:descendantFocusability="afterDescendants" android:layout_width="fill_parent" android:layout_height="@dimen/finder_connect_layout_height">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="@dimen/finder_connect_button_padding_right" android:paddingTop="@dimen/finder_connect_button_padding_top" android:paddingRight="@dimen/finder_connect_button_padding_left" android:paddingBottom="@dimen/finder_connect_button_padding_bottom" android:focusable="true" android:descendantFocusability="afterDescendants" android:layout_width="fill_parent" android:layout_height="wrap_content">
<RelativeLayout android:id="@id/sfinder_button_layout" android:background="@drawable/ripple_drawable" android:focusable="true" android:nextFocusLeft="@id/quick_connect_button_layout" android:nextFocusRight="@id/quick_connect_button_layout" android:clickable="true" android:layout_width="0.0dip" android:layout_height="@dimen/finder_connect_button_height" android:layout_weight="0.5" android:layout_marginEnd="9.0dip">
<TextView android:textSize="@dimen/tw_quick_panel_sfinder_qconnect_button_text_size" android:textColor="@drawable/tw_quick_panel_sfinder_qconnect_button_text_color" android:gravity="center" android:id="@id/sfinder_button_big" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/accessibility_sfinder_button" android:singleLine="true" android:drawableLeft="@drawable/tw_quick_panel_quick_sfinder_button_image" android:drawablePadding="@dimen/tw_quick_panel_sfinder_qconnect_drawable_padding" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:fontFamily="sec-roboto-light" />
</RelativeLayout>
<ImageView android:id="@id/expanded_divider_3" android:background="@color/quickpanel_button_divider_color" android:layout_width="1.0dip" android:layout_height="17.0dip" android:layout_marginTop="18.0dip" android:layout_marginBottom="18.0dip" android:alpha="@dimen/quickpanel_button_divider_alpha" android:layout_toStartOf="@id/sfinder_button_layout" />
<RelativeLayout android:id="@id/quick_connect_button_layout" android:background="@drawable/ripple_drawable" android:focusable="true" android:nextFocusLeft="@id/sfinder_button_layout" android:nextFocusRight="@id/sfinder_button_layout" android:clickable="true" android:layout_width="0.0dip" android:layout_height="@dimen/finder_connect_button_height" android:layout_weight="0.5" android:layout_marginStart="9.0dip">
<TextView android:textSize="@dimen/tw_quick_panel_sfinder_qconnect_button_text_size" android:textColor="@drawable/tw_quick_panel_sfinder_qconnect_button_text_color" android:gravity="center" android:id="@id/qconnect_button_big" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/accessibility_qconnect_button" android:singleLine="true" android:drawableLeft="@drawable/tw_quick_panel_quick_qconnect_button_image" android:drawablePadding="@dimen/tw_quick_panel_sfinder_qconnect_drawable_padding" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:fontFamily="sec-roboto-light" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Now goto SystemUI\res\values\dimens.xml search for "finder_connect_layout_height"
Change code in Red, Add code in Green
Code:
<dimen name="finder_connect_layout_height">[COLOR="Red"]132.0dip[/COLOR]</dimen>
[COLOR="Green"]<dimen name="3minit_quick_layout_height">75.0dip</dimen>[/COLOR]
Toggle
Goto SystemUI\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali
search for code "iget-object v8, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQconnectSfinderView:Lcom/android/systemui/statusbar/QconnectSfinderView;
" (( I use this line as only had 1 line of this in smali ) if you find more than 1 of this line let me know and i will edit guide )
Directly below this code add
Code:
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "3minit_quick_connect_toggle"
const/4 v2, 0x0
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-nez v0, :cond_5
Custom Settings
Basic Switch and SystemUI Restart..
Code:
<SwitchPreference android:title="Quickconnect Panel" android:key="3minit_quick_connect_toggle" android:summaryOn="Panel is hidden" android:summaryOff="Panel is shown" />
<Preference android:title="Restart SystemUI" android:key="tool#restartsystemui" android:summary="Tap after setting 3minit Quick Connect Panel" />
Screen shots below of both panel showing and panel gone through using toggle
Good
mine
mine2
new guide added, hope this is useful to someone

Lets Share - Audio Presets! (JamesDPS|Viper4Android|Anything)

Submit your Audio Control/Equalizer App presets! Pretty straight forward premise, in the end hopefully we will all end up with the best our various phone-speaker phone-headset phone-wireless can offer. Audiophiles discussion is encouraged! talk about your preferred app, why, fav preset, ect. Keep it clean, flame free, and most important of all CONSTRUCTIVE.
a little poll - pick your preferred module/app/equalizer
Lets keep this simple folks. Gonna lay down a simple set of guidelines so we give the people what they want! Simply guidelines to make it easier for users looking for a new preset to pick something that they can be somewhat confident it at least sounds good on their device or one very similar.
$: Device Type -- (Manufacturer | Model | other RELEVANT info)
$: Application Used -- (The app this preset was made/used on)
$: Listening Medium -- Did you make this preset while using : Headset | Earbuds | Phone Speaker | Wireless (BT & Other wireless setups) | Wireless to LARGE speakers | Laptop -chromebooks-
$: Sourced From? -- Where your preset is stored @? Surprises from Strangers pertaining to DLs and Files = NO GO! -- (Mega | Google Drive | Dropbox | Media Fire | Daily Uploads | ect.)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Google Pixel 3a
James DSP
Earbuds -- Specifically PixelBuds
MEGA Link & Below.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="dsp.bs2b.mode">3</string>
<string name="dsp.bass.spectralsmooth">5.0</string>
<boolean name="dsp.masterswitch.enable" value="true" />
<boolean name="dsp.stereowide.enable" value="true" />
<string name="dsp.stereowide.mode">45</string>
<boolean name="dsp.bs2b.enable" value="true" />
<string name="dsp.tone.eq">custom</string>
<string name="dsp.compression.maxrel">800.0</string>
<string name="dsp.compression.maxatk">60.0</string>
<string name="dsp.bass.boostcond">0.5</string>
<boolean name="dsp.bass.enable" value="true" />
<string name="dsp.compression.pregain">7</string>
<string name="dsp.convolver.resampler">/storage/emulated/0/JamesDSP/Convolver/CorredHRTF_Surround1.wav</string>
<string name="dsp.compression.thres2">0</string>
<string name="dsp.compression.thres1">-30</string>
<string name="dsp.masterswitch.limthreshold">-0.1</string>
<boolean name="dsp.compression.enable" value="false" />
<boolean name="dsp.tone.enable" value="true" />
<string name="dsp.masterswitch.limrelease">60.0</string>
<string name="dsp.convolver.mode">2</string>
<string name="dsp.convolver.advimp">-80;-100;0;0;0;0</string>
<boolean name="dsp.streq.enable" value="true" />
<boolean name="dsp.analogmodelling.enable" value="true" />
<string name="dsp.headphone.preset">15</string>
<boolean name="dsp.headphone.enable" value="false" />
<string name="dsp.analogmodelling.tubedrive">8.0</string>
<boolean name="dsp.convolver.enable" value="false" />
<string name="dsp.convolver.files">/storage/emulated/0/JamesDSP/Convolver/CorredHRTF_Surround1.wav</string>
<boolean name="dsp.liveprog.enable" value="true" />
<string name="dsp.streq.stringp">GraphicEQ: 1.5 1.5;</string>
<string name="dsp.tone.filtertype">1</string>
<string name="dsp.tone.eq.custom">25.0000000;40.0000000;63.0000000;100.0000000;160.0000000;250.0000000;400.0000000;630.0000000;1000.0000000;1600.0000000;2500.0000000;4000.0000000;6300.0000000;10000.0000000;16000.0000000;-2.3782387;-0.2953358;-0.2765627;-0.6839380;-0.4663219;0.4269295;0.0553379;0.1398964;1.3656120;2.4667902;2.5229034;2.5505447;4.4044447;4.8117180;4.6943007;</string>
<string name="dsp.bass.maxgain">4</string>
<string name="dsp.bass.gainsmooth">25.0</string>
<string name="dsp.masterswitch.postgain">-1.0</string>
<boolean name="dsp.ddc.enable" value="false" />
<string name="dsp.tone.interpolation">1</string>
<string name="dsp.ddc.files">/storage/emulated/0/JamesDSP/DDC/Butterworth.vdc</string>
<string name="dsp.liveprog.files">/storage/emulated/0/JamesDSP/liveprog/dc_remove.eel</string>
</map>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MEGA Link to PRESET FILE
Headset/Speaker/Bluetooth & Settings Files - GITHUB
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
If you participated THX!! THX for your time.

Categories

Resources