[Guide]Add Extra Dashboard Entries in Settings Like Sony Way - Sony Cross-Device Development Themes and Apps

Finally, I found a way to add Extra Dashboard Entries​
More guide will come After 5 Jan...
I love Mod like sony do.. , I hate people who add own files in mod
Keep in mind I'm wolfmannight , hahahaha...
==========================================================================​
Extract sonymobile.zip and copy sonymobile folder to \smali\com\ folder #from attachment
After it Address will like this \smali\com\sonymobile\
---------------------------------------------------------------
Extract drawable-xhdpi.zip and copy all .png to drawable-xhdpi folder #from attachment
---------------------------------------------------------------
Copy somc_add_dashboard_tiles.xml to [ \res\xml\] #from attachment
--------------------------------------------------------------
Add Line in public.xml at last xml of xml lines and give your corresponding value 0xNNNNNNNN
PHP:
<public type="xml" name="somc_add_dashboard_tiles" id="0x7f060069" />
-----------------------------------------------------------
Add Line in ids.xml
PHP:
<item type="id" name="xperia_connectivity_settings">false</item>
<item type="id" name="themes_settings">false</item>
<item type="id" name="call_settings">false</item>
<item type="id" name="introduction_to_xperia">false</item>
<item type="id" name="anti_spamming">false</item>
<item type="id" name="support">false</item>
----------------------------------------------------------
Add Line in strings.xml
PHP:
<string name="device_connection">Device connection</string>
<string name="theme_label_xperia">Themes</string>
<string name="gettoknowit_settings_title">Introduction to Xperia™</string>
<string name="anti_spam_app_name_settings_txt">Phone number assistant</string>
<string name="support_settings_title">Support</string>
Open SettingsActivity.smali [ \smali\com\android\settings\SettingsActivity.smali]
Add this code below this line invoke-virtual {p0, v0, p1}, Lcom/android/settings/SettingsActivity;->loadCategoriesFromResource(ILjava/util/ListV
PHP:
.line 1030
const v0, 0x7f060069
invoke-static {p0, v0, p1}, Lcom/sonymobile/settings/SomcDashboardTiles;->loadTilesFromResource(Lcom/android/settings/SettingsActivity;ILjava/util/List;)V
Like this..
Code:
.line 1009
const v0, 0x7f060014
invoke-virtual {p0, v0, p1}, Lcom/android/settings/SettingsActivity;->loadCategoriesFromResource(ILjava/util/List;)V
[COLOR="red"] .line 1030
const v0, 0x7f060069
invoke-static {p0, v0, p1}, Lcom/sonymobile/settings/SomcDashboardTiles;->loadTilesFromResource(Lcom/android/settings/SettingsActivity;ILjava/util/List;)V[/COLOR]
.line 1010
invoke-direct {p0, p1}, Lcom/android/settings/SettingsActivity;->updateTilesList(Ljava/util/List;)V
.line 1011
return-void
-----------------------------------------------------------------------
Add this code below this line Landroid/os/UserHandle;->myUserId()I
PHP:
move-result v15
if-eqz v15, :cond_2
invoke-static {v14}, Lcom/sonymobile/settings/SomcDashboardTiles;->isForAllUsers(Lcom/android/settings/dashboard/DashboardTile;)Z
Like this..
Code:
.line 1283
:cond_1
:goto_2
invoke-static {}, Landroid/os/UserHandle;->myUserId()I
[COLOR="Red"] move-result v15
if-eqz v15, :cond_2
invoke-static {v14}, Lcom/sonymobile/settings/SomcDashboardTiles;->isForAllUsers(Lcom/android/settings/dashboard/DashboardTile;)Z [/COLOR]
move-result v15
if-eqz v15, :cond_2
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/settings/SettingsActivity;->SETTINGS_FOR_RESTRICTED:[I
invoke-static {v15, v6}, Lcom/android/internal/util/ArrayUtils;->contains([II)Z
move-result v15
if-nez v15, :cond_2
----------------------------------------------------------------------
Change private to public
Like this..
Code:
.method [COLOR="Red"]public[/COLOR] loadCategoriesFromResource(ILjava/util/List;)V
.locals 28
.param p1, "resid" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/List",
"<",
"Lcom/android/settings/dashboard/DashboardCategory;",
">;)V"
}
.end annotation
----------------------------------------------------------------------------
Open \smali\com\android\settings\dashboard\DashboardCategory.smali
Add this code below this line # virtual methods
PHP:
# virtual methods
.method public addTile(ILcom/android/settings/dashboard/DashboardTile;)V
.locals 1
.param p1, "n" # I
.param p2, "tile" # Lcom/android/settings/dashboard/DashboardTile;
.prologue
.line 70
iget-object v0, p0, Lcom/android/settings/dashboard/DashboardCategory;->tiles:Ljava/util/List;
invoke-interface {v0, p1, p2}, Ljava/util/List;->add(ILjava/lang/Object;)V
.line 71
return-void
.end method

Screenshots:
{
"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"
}

@gamzekal, this is completely different way ...
Before this i was using your way....
PM me your any social account id

@wolfmannight
can you explain what difference does it make sense?

moonryder said:
@wolfmannight
can you explain what difference does it make sense?
Click to expand...
Click to collapse
I couldn't find any difference right now , I'm still working on other Settings things...
If i found anything i will mention it..
But Right now i found ..
No need to create more smali for different new Dashboard entries
only add entry in somc header xml and put xml file in \res\xml folder..

@moonryder
And by this method if "Introduction to Xperia" or "skin-core" apk are not install then it wont show in Settings , So.. No FC if App not installed

Nice Guide . You could make a guide on how to add switches for dashboard items (wifi / bluetooth / mobile network)?
Thanks :good:

Marília de Oliveira said:
Nice Guide . You could make a guide on how to add switches for dashboard items (wifi / bluetooth / mobile network)?
Thanks :good:
Click to expand...
Click to collapse
for switches on dashboard guide already on xda , and Sony not use switches in Lollipop+
switches in settings is useless , most of people use SystemUI tiles to on/off

wolfmannight said:
for switches on dashboard guide already on xda , and Sony not use switches in Lollipop+
switches in settings is useless , most of people use SystemUI tiles to on/off
Click to expand...
Click to collapse
Hm ok, thanks. ✌
Sent from my D5833 using XDA Free mobile app

wolfmannight said:
@gamzekal, this is completely different way ...
Before this i was using your way....
PM me your any social account id
Click to expand...
Click to collapse
Nice Guide .
OK.I will do it:good:
If you want to change font of settings or style of settings or add new subtitle in settings,you dont need to change smali files.You can create your own smali and reference it from related files in xml folder.But you need to change your framework-res.apk for changing style of Settings too

can you help me and million other who are stuck with a major app that they all love .. I have LG G2 and we all are missing the live weather app as we uninstalled it by mistake. can you create a flashable zip

Related

[GUIDE][How-to] Enable 5 lockscreen shortcuts JB

Enable 5 lockscreen shortcuts in Jellybean.
Credits to Mirko DDD and Jeboo for this.
SecSettings.apk - smali edit
smali\com\android\settings\lockscreenshortcut\Lock ScreenShortcutSettings.smali
Before:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"]const/4 v0, 0x3[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
After:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"] const/4 v0, 0x5[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
Before:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x4[/COLOR]
After:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x5[/COLOR]
Framework-res.apk edit:
res/values/dimens.xml
Change:
Code:
<dimen name="keyguard_lockscreen_application_shortcut_icon_width">52.0dip</dimen>
<dimen name="keyguard_lockscreen_application_shortcut_icon_height">50.0dip</dimen>
Is there any way to get a flashable zip of this mod. Just asking
Sent from my SPH-D710 using Tapatalk 2
tdunham said:
Enable 5 lockscreen shortcuts in Jellybean.
Credits to Mirko DDD and Jeboo for this.
SecSettings.apk - smali edit
smali\com\android\settings\lockscreenshortcut\Lock ScreenShortcutSettings.smali
Before:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"]const/4 v0, 0x3[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
After:
Code:
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
const/4 v1, 0x0
.line 79
[COLOR="Red"] const/4 v0, 0x5[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
.line 80
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->DEFAULT_CURSOR_WIDTH:I
.line 81
sput v1, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->ICON_5_CURSOR_WIDTH:I
return-void
.end method
Before:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x4[/COLOR]
After:
Code:
const-string v30, "SPR"
invoke-static {}, Lcom/android/settings/Utils;->readSalesCode()Ljava/lang/String;
move-result-object v31
invoke-virtual/range {v30 .. v31}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v30
if-eqz v30, :cond_99
.line 160
:cond_29b
[COLOR="Red"]const/16 v30, 0x5[/COLOR]
Framework-res.apk edit:
res/values/dimens.xml
Change:
Code:
<dimen name="keyguard_lockscreen_application_shortcut_icon_width">52.0dip</dimen>
<dimen name="keyguard_lockscreen_application_shortcut_icon_height">50.0dip</dimen>
Click to expand...
Click to collapse
is this is for tw only?
christian devs01 said:
is this is for tw only?
Click to expand...
Click to collapse
Yes.
Sent from my SPH-D710 using xda premium
TD, Can you post a quick link on how to do this? I assume RTB can do it.
byrdcfmma said:
TD, Can you post a quick link on how to do this? I assume RTB can do it.
Click to expand...
Click to collapse
Both files need to be decompiled to be edited and this cannot be done on the phone. Apktool is the weapon of choice for many devs and there are guides specific to using it (or what versions work best) with Jellybean around the forums.
tdunham said:
Both files need to be decompiled to be edited and this cannot be done on the phone. Apktool is the weapon of choice for many devs and there are guides specific to using it (or what versions work best) with Jellybean around the forums.
Click to expand...
Click to collapse
Okay, Thanks!! I thought it was the same process as doing the lockscreen and launcher edits when JB first came on the scene so our phone would act like the S3.
@tdunham, can i use this tutorial for xperia s jb?
slink722 said:
@tdunham, can i use this tutorial for xperia s jb?
Click to expand...
Click to collapse
Probably not, but that's what nandroids are for
{
"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"
}
bilgerryan said:
Probably not, but that's what nandroids are for
Click to expand...
Click to collapse
awts! so sad but is it possible to have on my device? or do you know how to do it? help me please :crying:
slink722 said:
awts! so sad but is it possible to have on my device? or do you know how to do it? help me please :crying:
Click to expand...
Click to collapse
Follow the guide

[Tutorial] Sense 5 Prism Mods [All Themers Post your Prism Mods]

Hey what's up everyone? I've just picked up my One & started modding right away. Here's some mods you can do to Prism.apk ( Sense Launcher ).​
first off you need to learn to use apktool or apkmanager, google search & learn how to mod apps first.
First mod is a custom image as your app drawer background
Decompile prism.apk and go to​
res/layout/all_apps_pagedview.xml
look for this line
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:id="@id/all_apps_paged_view"
add a background tag like this
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:background="@drawable/appdrawer_background" android:id="@id/all_apps_paged_view"
next put your custom image named appdrawer_background.png into the drawable-xxhdpi folder & recompile your apk
*****************************************
Next is Transparent app drawer background
This one is kinda difficult, but there is an easier method posted here http://forum.xda-developers.com/showpost.php?p=40555206&postcount=16
thanks Ajthescot for sharing
4.1.2 method
decompile Prism.apk and go to /smali/com/htc/launcher
find Launcher.Smali
and look for this method
Code:
.method public updateWallpaperVisibility(Z)V
.locals 8
const/4 v3, 0x0
const/high16 v2, 0x10
iget-boolean v4, p0, Lcom/htc/launcher/Launcher;->m_bAttached:Z
if-nez v4, :cond_1
const-string v2, "Launcher"
const-string v3, "updateWallpaperVisibility - not attached"
invoke-static {v2, v3}, Lcom/htc/launcher/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
:goto_0
return-void
:cond_1
invoke-virtual {p0}, Lcom/htc/launcher/Launcher;->isAddToHomeVisible()Z
move-result v4
if-eqz v4, :cond_2
const/4 p1, 0x1
:cond_2
if-eqz p1, :cond_3
move v1, v2
:goto_1
invoke-virtual {p0}, Lcom/htc/launcher/Launcher;->getWindow()Landroid/view/Window;
move-result-object v4
invoke-virtual {v4}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v4
iget v4, v4, Landroid/view/WindowManager$LayoutParams;->flags:I
and-int v0, v4, v2
if-eq v1, v0, :cond_0
const-string v4, "Launcher"
const-string v5, "updateWallpaperVisibility: %s"
const/4 v6, 0x1
new-array v6, v6, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v7
aput-object v7, v6, v3
invoke-static {v4, v5, v6}, Lcom/htc/launcher/util/Logger;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
invoke-virtual {p0}, Lcom/htc/launcher/Launcher;->getWindow()Landroid/view/Window;
move-result-object v3
invoke-virtual {v3, v1, v2}, Landroid/view/Window;->setFlags(II)V
goto :goto_0
:cond_3
move v1, v3
goto :goto_1
.end method
delete this entire method, next use notepad ++ to search for
Code:
updateWallpaperVisibility
remove all lines containing that
example :
Code:
invoke-virtual {v0, v4}, Lcom/htc/launcher/Launcher;->updateWallpaperVisibility(Z)V
next go to Launcher$20.Smali
and again search for
Code:
updateWallpaperVisibility
remove all lines like this
Code:
invoke-virtual {v0, v4}, Lcom/htc/launcher/Launcher;->updateWallpaperVisibility(Z)V
next go to Launcher$24.Smali
do the same as the above file
next go to Workspace.smali
do the same as the above two files
last file in smali is
DragLayer.Smali
search for this
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 5
const/4 v4, 0x0
const/4 v3, 0x0
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 v1, 0x2
new-array v1, v1, [I
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_naTmpXY:[I
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_resizeFrames:Ljava/util/ArrayList;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropAnim:Landroid/animation/ValueAnimator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_fadeOutAnim:Landroid/animation/ValueAnimator;
new-instance v1, Landroid/view/animation/DecelerateInterpolator;
const/high16 v2, 0x3fc0
invoke-direct {v1, v2}, Landroid/view/animation/DecelerateInterpolator;-><init>(F)V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_cubicEaseOutInterpolator:Landroid/animation/TimeInterpolator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropView:Lcom/htc/launcher/DragView;
iput v4, p0, Lcom/htc/launcher/DragLayer;->m_nAnchorViewInitialScrollX:I
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_anchorView:Landroid/view/View;
iput-boolean v4, p0, Lcom/htc/launcher/DragLayer;->m_bHoverPointClosesFolder:Z
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectHit:Landroid/graphics/Rect;
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/htc/launcher/DragLayer;->m_bHotseatVisible:Z
const/high16 v1, 0x3f80
iput v1, p0, Lcom/htc/launcher/DragLayer;->m_fBackgroundAlpha:F
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectBackground:Landroid/graphics/Rect;
new-instance v0, Lcom/htc/launcher/FillColorFastBitmapDrawable;
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, 0x7f020002
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
check-cast v1, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {v1}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v1
const/high16 v2, -0x100
invoke-direct {v0, v1, v2}, Lcom/htc/launcher/FillColorFastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;I)V
invoke-virtual {p0, v0}, Lcom/htc/launcher/DragLayer;->setBackground(Landroid/graphics/drawable/Drawable;)V
invoke-virtual {p0, v4}, Lcom/htc/launcher/DragLayer;->setMotionEventSplittingEnabled(Z)V
return-void
.end method
look for the line I have marked here & change it as I have Told
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 5
const/4 v4, 0x0
const/4 v3, 0x0
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 v1, 0x2
new-array v1, v1, [I
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_naTmpXY:[I
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_resizeFrames:Ljava/util/ArrayList;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropAnim:Landroid/animation/ValueAnimator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_fadeOutAnim:Landroid/animation/ValueAnimator;
new-instance v1, Landroid/view/animation/DecelerateInterpolator;
const/high16 v2, 0x3fc0
invoke-direct {v1, v2}, Landroid/view/animation/DecelerateInterpolator;-><init>(F)V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_cubicEaseOutInterpolator:Landroid/animation/TimeInterpolator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropView:Lcom/htc/launcher/DragView;
iput v4, p0, Lcom/htc/launcher/DragLayer;->m_nAnchorViewInitialScrollX:I
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_anchorView:Landroid/view/View;
iput-boolean v4, p0, Lcom/htc/launcher/DragLayer;->m_bHoverPointClosesFolder:Z
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectHit:Landroid/graphics/Rect;
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/htc/launcher/DragLayer;->m_bHotseatVisible:Z
const/high16 v1, 0x3f80
iput v1, p0, Lcom/htc/launcher/DragLayer;->m_fBackgroundAlpha:F
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectBackground:Landroid/graphics/Rect;
new-instance v0, Lcom/htc/launcher/FillColorFastBitmapDrawable;
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, 0x7f020002
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
check-cast v1, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {v1}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v1
>>>>>>>>> const/high16 v2, -0x100 <<<< Change from ORIGINAL VALUE to this const/high16 v2, 0x0 >>>>
invoke-direct {v0, v1, v2}, Lcom/htc/launcher/FillColorFastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;I)V
invoke-virtual {p0, v0}, Lcom/htc/launcher/DragLayer;->setBackground(Landroid/graphics/drawable/Drawable;)V
invoke-virtual {p0, v4}, Lcom/htc/launcher/DragLayer;->setMotionEventSplittingEnabled(Z)V
return-void
.end method
Next on to the easy part
res/layouts/feed_view.xml
top line add a background tag like this
Code:
<com.htc.launcher.feeds.view.FeedScrollView android:background="@drawable/blinkfeed_background" android:layout_width="fill_parent" android:layout_height="fill_parent"
add blinkfeed_background.png in drawable-xxhdpi set as you like (mine is solid black)
res/layout/all_apps_pagedview.xml
look for this line
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:id="@id/all_apps_paged_view"
add a background tag like this
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:background="@drawable/appdrawer_background" android:id="@id/all_apps_paged_view"
next put your custom image that is set to your desired level of transparency named appdrawer_background.png into the drawable-xxhdpi folder.
last thing is find automotive_common_app_bkg_top.jpeg & make it 100% transparent & save as a png, then delete the jpeg copy out of the apk
*
For 4.2.2 you can use my method above or Aj's method, both work fine BUT you need to add a tiny bit more code to make it look 100%
go to smali/com/htc/launcher/pageview/AllAppsPagedViewHost.smali find line 85 where it says
Code:
const/high16 v2, -0x100
change it to
Code:
const/high16 v2, 0x0
now recompile your app & Enjoy your transparent app drawer
**************************************************
Next mod, have 7 pages set for use
first go to res/layout/Workspace_page_thumbnail_container.xml
add this to it twice
Code:
<include layout="@layout/workspace_page_thumbnail" />
<include layout="@layout/workspace_page_thumbnail" />
next go to Workspace_pages.xml
add this
Code:
<include android:id="@id/cell0" layout="@layout/workspace_screen" />
and
Code:
<include android:id="@id/cell5" layout="@layout/workspace_screen" />
Next go to res/layout/workspace_page_protected.xml
add this
Code:
<include android:id="@id/cell5" layout="@layout/workspace_screen" />
next go to res/values/ids.xml
add this
Code:
<item type="id" name="cell5">false</item>
next go to smali/com/htc/launcher/model/PagesManager.Smali
find this method & change it as I have marked
Code:
.method private constructor <init>(Landroid/content/Context;)V
.locals 2
const/4 v1, 0x0
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
iput v1, p0, Lcom/htc/launcher/model/PagesManager;->m_nHomeIndex:I
<<<< const/4 v0, 0x6 <<<<< original value const/4 v0, 0x4 >>>>>>>>>>
iput v0, p0, Lcom/htc/launcher/model/PagesManager;->m_nPageCount:I
iput v1, p0, Lcom/htc/launcher/model/PagesManager;->m_nFeedIndex:I
const/4 v0, 0x1
iput v0, p0, Lcom/htc/launcher/model/PagesManager;->m_nWorkspaceId:I
sget-object v0, Lcom/htc/launcher/model/PagesManager$DefaultViewMode;->Feed:Lcom/htc/launcher/model/PagesManager$DefaultViewMode;
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_defaultViewMode:Lcom/htc/launcher/model/PagesManager$DefaultViewMode;
const/4 v0, 0x0
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_Handler:Landroid/os/Handler;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_observerList:Ljava/util/List;
iput-object p1, p0, Lcom/htc/launcher/model/PagesManager;->m_context:Landroid/content/Context;
new-instance v0, Landroid/os/Handler;
invoke-direct {v0}, Landroid/os/Handler;-><init>()V
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_Handler:Landroid/os/Handler;
return-void
.end method
next method
Code:
.method public getMaxPageCount()I
.locals 1
const/4 v0, 0x7 <<<<<<<< change from const/4 v0, 0x5 >>>>>>
return v0
.end method
next go to smali/com/htc/launcher/model/WorkspaceConfiguration.smali
find this
Code:
.field public static final DEFAULT_PAGE_COUNT:I = 0x4
change it to this
Code:
.field public static final DEFAULT_PAGE_COUNT:I = 0x6
find this
Code:
.field private static final MAX_PAGES:I = 0x5
change it to this
Code:
.field private static final MAX_PAGES:I = 0x7
Now find this method & change it as I have marked
Code:
.method public constructor <init>()V
.locals 2
const/4 v1, 0x0
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
<< const/4 v0, 0x6 <<<< original value is this const/4 v0, 0x4
iput v0, p0, Lcom/htc/launcher/model/WorkspaceConfiguration;->m_nPageCount:I
iput v1, p0, Lcom/htc/launcher/model/WorkspaceConfiguration;->m_nHomeIndex:I
iput v1, p0, Lcom/htc/launcher/model/WorkspaceConfiguration;->m_nFeedIndex:I
return-void
.end method
last method for this file
Code:
.method public getMaxPageCount()I
.locals 1
const/4 v0, 0x7 <<<< Change from original of const/4 v0, 0x5 >>>>>
return v0
.end method
last edit go to smali/com/htc/launcher/Launcher.smali
change this
Code:
.field static final SCREEN_COUNT:I = 0x5
to this
Code:
.field static final SCREEN_COUNT:I = 0x7
recompile your apk & enjoy 7 pages of widgets
That's all I have for now, I'll update the thread as I learn more
CREDITS
Onepagebook
*Ajthescot
​
Thanks, a lot of people don't like to share their knowledge these days
Rayford, will you theme an upcoming Viper Rom ?
PS: Please do !
Great job!!!!!
nice bro, there are still a lot
I just got my home pages turned to 7..
Should you need to declare drawable ID in public.xml for the appdrawer back ground?
Onepagebook said:
nice bro, there are still a lot
I just got my home pages turned to 7..
Should you need to declare drawable ID in public.xml for the appdrawer back ground?
Click to expand...
Click to collapse
Share your findings on the apk, I'll add it to the op And no need to add any public id, it will build it's id when it compiles.
rayford85 said:
Share your findings on the apk, I'll add it to the op And no need to add any public id, it will build it's id when it compiles.
Click to expand...
Click to collapse
YGPM bro
Kevin & Nick @ it again love you guys, and as always love your work.
yeah..still more to come, I receive lots of help from Nick and my TW friend, ici, as well. Thanks buddy
added a mod to have 7 pages set for widgets etc. instead of the default 5. Thanks to Onepagebook.
wich programs we need to decomplie apk ?
I like to have trasparent prism for my ARHD rom and read your instruction ....
I don't think to be able
but ... wanna try
hope you help me
tks mate
jonata said:
wich programs we need to decomplie apk ?
I like to have trasparent prism for my ARHD rom and read your instruction ....
I don't think to be able
but ... wanna try
hope you help me
tks mate
Click to expand...
Click to collapse
I'm not gonna teach you how to do it.
No one taught me. You just gotta keep messing with it till you figure it out. Here is a link to get you started http://forum.xda-developers.com/showthread.php?t=1891686 thats just one guide, google search for other ones. There all over the web.
rayford85 said:
I'm not gonna teach you how to do it.
No one taught me. You just gotta keep messing with it till you figure it out. Here is a link to get you started http://forum.xda-developers.com/showthread.php?t=1891686 thats just one guide, google search for other ones. There all over the web.
Click to expand...
Click to collapse
ok , try to learn
lex_is300 dased14 and myself have done the transparent app drawer we have taken some slack for not releasing it yet but we were trying to perfect it before releasing.
5x6 layouts needed a bit of dimen tweakage to stop icons overlaping dock icons
the custom bg did not fill dock area if you have trans dock
thats fixed.
i shall post my method here in a few as lex_is300 and dased14 have different setups.
in the meantime
heres my dock setup
i use 5 icons plus appdrawer icon
increase docked icon count
my layout
values integers.xml
Code:
<integer name="hotseat_cell_count">5</integer>
changed to
Code:
<integer name="hotseat_cell_count">6</integer>
values/dimens.xml
reduce padding
Code:
<dimen name="button_bar_width_left_padding">16.0dip</dimen>
<dimen name="button_bar_width_right_padding">16.0dip</dimen>
changed to
Code:
<dimen name="button_bar_width_left_padding">2.0dip</dimen>
<dimen name="button_bar_width_right_padding">2.0dip</dimen>
move dock icon position
values integers.xml
Code:
<integer name="hotseat_all_apps_index">4</integer>
changed to
Code:
<integer name="hotseat_all_apps_index">5</integer>
{
"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"
}
Ajthescot said:
lex_is300 dased14 and myself have done the transparent app drawer we have taken some slack for not releasing it yet but we were trying to perfect it before releasing.
5x6 layouts needed a bit of dimen tweakage to stop icons overlaping dock icons
the custom bg did not fill dock area if you have trans dock
thats fixed.
i shall post my method here in a few as lex_is300 and dased14 have different setups.
in the meantime
heres my dock setup
i use 5 icons plus appdrawer icon
increase docked icon count
my layout
values integers.xml
Code:
<integer name="hotseat_cell_count">5</integer>
changed to
Code:
<integer name="hotseat_cell_count">6</integer>
values/dimens.xml
reduce padding
Code:
<dimen name="button_bar_width_left_padding">16.0dip</dimen>
<dimen name="button_bar_width_right_padding">16.0dip</dimen>
changed to
Code:
<dimen name="button_bar_width_left_padding">2.0dip</dimen>
<dimen name="button_bar_width_right_padding">2.0dip</dimen>
move dock icon position
values integers.xml
Code:
<integer name="hotseat_all_apps_index">4</integer>
changed to
Code:
<integer name="hotseat_all_apps_index">5</integer>
Click to expand...
Click to collapse
Thanks for sharing. I'm real curious to see how you guys did the app drawer transparent. It was a nightmare to figure out
Sent from my HTC One using xda premium
credits to lex_is300 dased14 and myself we have had transparent app drawer for couple of weeks but wanted to perfect it more before releasing it
like the op we all have different methods but this is my personal take on it.
this is my edits based on 5x6 app drawer
all dimen edits are based on this
if you use this mod please give credits to lex_is300 dased14 and myself
layouts .xmls​hotseat.xml
Code:
<ImageView android:layout_gravity="bottom|center" android:layout_width="wrap_content" android:layout_height="@dimen/button_bar_height_without_padding" android:src="@drawable/home_nav_bg" android:scaleType="fitXY" />
to
Code:
<ImageView android:layout_gravity="bottom|center" android:layout_width="wrap_content" android:layout_height="@dimen/button_bar_height_without_padding[COLOR="Red"]2[/COLOR]" android:src="@drawable/home_nav_bg" android:scaleType="fitXY" />
all_apps_paged_view.xml
Code:
<com.htc.launcher.pageview.AllAppsPagedViewHost android:id="@id/all_apps_paged_view_frame" android:layout_width="fill_parent" android:layout_height="fill_parent"
to
Code:
<com.htc.launcher.pageview.AllAppsPagedViewHost android:id="@id/all_apps_paged_view_frame" [COLOR="red"]android:background="@drawable/custom"[/COLOR] android:layout_width="fill_parent" android:layout_height="fill_parent"
values xmls​this edits fills the dock area with the custom bg for those with trans dock.
dimens.xml
Code:
<dimen name="button_bar_height_without_padding">55.0dip</dimen>
to
Code:
<dimen name="button_bar_height_without_padding">[COLOR="Red"]0.0dip[/COLOR]</dimen>
add this new line
Code:
<dimen name="button_bar_height_without_padding2">55.0dip</dimen>
styles.xml​<style name="DropTargetBar">
add this
Code:
<item name="android:background">#98000000</item>
edit to suit your level of transparency​
smali​
com/android/htc/launcher
line numbers based on vts layout
Draglayer.smali
line 195 on 1.28 base
or line 156 on 1.29.401.12 base
const/high16 v2, -0x100
change to
const/high16 v2, 0x0
launcher.smali
line 21566 on 1.28 base
or line 15353 on 1.29.401.12 base
const/high16 v2, 0x10
change to
const/high16 v2, 0x0
line numbers may change on different versions of prism​
drawables xxhdpi​
add
custom backgound named custom.png
edit to your desired transparency
edit
automotive_common_app_bkg_top
to desired transparency this is blinkfeed and appdrawer clock bg
change home_nav_bg.jpg to home_nav_bg.png and edit transparency​
if using 5x6 appdrawer you are gonna have an ugly mess of icons overlapping with tranparent docks.
values dimens.xml​
Code:
<dimen name="config_allAppsTabbedPageLayoutPaddingTop">18.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom">4.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft">0.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight">0.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingTop_alt">35.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom_alt">10.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft_alt">0.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight_alt">0.0dip</dimen>
<dimen name="page_view_icon_cell_width">75.0dip</dimen>
<dimen name="page_view_icon_cell_height">90.0dip</dimen>
to
Code:
<dimen name="config_allAppsTabbedPageLayoutPaddingTop">18.5dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom">35.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft">16.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight">16.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingTop_alt">35.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom_alt">50.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft_alt">30.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight_alt">30.0dip</dimen>
<dimen name="allapps_edit_layout_page_spacing">100.0dip</dimen>
<dimen name="page_view_icon_cell_width">85.0dip</dimen>
<dimen name="page_view_icon_cell_height">87.0dip</dimen>
now the text may be overlaping or cut off screen
edit to your suited size
Code:
<dimen name="shortcut_label_l">12.0sp</dimen>
mine i have set to
Code:
<dimen name="shortcut_label_l">8.0sp</dimen>
Ajthescot said:
lex_is300 dased14 and myself have done the transparent app drawer we have taken some slack for not releasing it yet but we were trying to perfect it before releasing.
5x6 layouts needed a bit of dimen tweakage to stop icons overlaping dock icons
the custom bg did not fill dock area if you have trans dock
thats fixed.
i shall post my method here in a few as lex_is300 and dased14 have different setups.
in the meantime
heres my dock setup
i use 5 icons plus appdrawer icon
increase docked icon count
my layout
values integers.xml
Code:
<integer name="hotseat_cell_count">5</integer>
changed to
Code:
<integer name="hotseat_cell_count">6</integer>
values/dimens.xml
reduce padding
Code:
<dimen name="button_bar_width_left_padding">16.0dip</dimen>
<dimen name="button_bar_width_right_padding">16.0dip</dimen>
changed to
Code:
<dimen name="button_bar_width_left_padding">2.0dip</dimen>
<dimen name="button_bar_width_right_padding">2.0dip</dimen>
move dock icon position
values integers.xml
Code:
<integer name="hotseat_all_apps_index">4</integer>
changed to
Code:
<integer name="hotseat_all_apps_index">5</integer>
Click to expand...
Click to collapse
really beatifull !
my compliments ...... love this trasparent navbar !
nice work on the 5 icons dock ..
are those showing also on locksreen ???
Dougi said:
nice work on the 5 icons dock ..
are those showing also on locksreen ???
Click to expand...
Click to collapse
thanks bud lockscreen is still only 4
Ajthescot said:
thanks bud lockscreen is still only 4
Click to expand...
Click to collapse
thanks for the reply...
Sssuupp my men Ray how are you , nice OP there
Ray , do you think there are still M10 in sense 5 ??? i thought no, but after searching, reading and understanding the new sense 5 files , i'm now sure there are M10 files....
what do you think ?? .. ( this question goes out to all themers and advanced users.. )

[HOWTO] Extended Power Menu (EPM): adding Recovery & Download

{
"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"
}
This thread is a continuation of many previous ones, mainly the one by untermensch (http://forum.xda-developers.com/showthread.php?t=811532). I kept the mod going for ICS (http://forum.xda-developers.com/showpost.php?p=24218275&postcount=217), and figured 4.2.2 is deserving of a new thread.
The good news is the framework actually simplified the mod, requiring only two files to be updated. This tutorial is based on UCUAMDL.
1. framework-res.apk (this 1st part is unchanged from previous thread)
a) In strings.xml, add:
Code:
<string name="epm_recovery">Recovery</string>
<string name="epm_download">Download</string>
b) In public.xml, add (NOTE: these resource IDs will change in the future!!):
Code:
<public type="string" name="epm_recovery" id="0x010408e3" />
<public type="string" name="epm_download" id="0x010408e4" />
<public type="drawable" name="ic_lock_recovery" id="0x01080c9d" />
<public type="drawable" name="ic_lock_download" id="0x01080c9e" />
c) Lastly, add your two icons as ic_lock_recovery.png and ic_lock_download.png in drawable-hdpi.
Compile framework-res.apk, upload and reboot phone.
-----------------------------------------------------------------------------------------------
2. android.policy.jar
a) In GlobalActions.smali, add the following variables around line 150:
Code:
.field private mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
.field private mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
b) Same file, find:
.line 566
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$5;
const v1, 0x108097f
const v2, 0x1040199
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$5;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
iput-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
Add this code directly below it (NOTE: this code references the resource IDs above, be sure to correct if they've changed):
Code:
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$18;
const v1, [COLOR="Red"]0x1080c9d[/COLOR]
const v2, [COLOR="red"]0x10408e3[/COLOR]
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$18;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
iput-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$19;
const v1, [COLOR="red"]0x1080c9e[/COLOR]
const v2, [COLOR="red"]0x10408e4[/COLOR]
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$19;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
iput-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
c) About 10 lines below, you will see:
.line 659
const/4 v0, 0x6
Change it to:
Code:
const/16 v0, 0x8
d) About 20 lines below that, you will see:
const/4 v1, 0x5
iget-object v2, p0, Lcom/android/internal/policy/impl/GlobalActions;->mBugReport:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
aput-object v2, v0, v1
Add this code directly after:
Code:
const/4 v1, 0x6
iget-object v2, p0, Lcom/android/internal/policy/impl/GlobalActions;->mRecovery:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
aput-object v2, v0, v1
const/4 v1, 0x7
iget-object v2, p0, Lcom/android/internal/policy/impl/GlobalActions;->mDownload:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
aput-object v2, v0, v1
e) All that's left is to add the 2 smalis to handle when the menu items are selected. This is where the code is now simplified, as we don't need to mess with framework.jar anymore. In short, ShutDownThread.smali in framework has a reboot method that supports a parameter. So we simply call it with the appropriate param (either recovery or download).
Still in policy.jar, copy GlobalActions$5.smali as a template for GlobalActions$18.smali, change all the $5 to $18, and then we are going to replace the onPress method with this:
Code:
.method public onPress()V
.registers 6
.prologue
iget-object v1, p0, Lcom/android/internal/policy/impl/GlobalActions[COLOR="Red"]$18[/COLOR];->this$0:Lcom/android/internal/policy/impl/GlobalActions;
# getter for: Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context;
invoke-static {v1}, Lcom/android/internal/policy/impl/GlobalActions;->access$000(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;
move-result-object v1
const-string v2, [COLOR="red"]"recovery"[/COLOR]
const/4 v3, [COLOR="red"]0x1[/COLOR] # CONFIRMATION FLAG
invoke-static {v1, v2, v3}, Lcom/android/server/power/ShutdownThread;->reboot(Landroid/content/Context;Ljava/lang/String;Z)V
return-void
.end method
Repeat this step for GlobalActions$19.smali but change "recovery" to "download", and $18 to $19, in the code fragment above. Also note, you can decide whether you want a confirmation dialog or not by setting v3 to 0x0 (no) or 0x1 (yes).
Compile android.policy.jar, upload and reboot! If all went well, you will see the EPM with your new options :fingers-crossed:
ADDENDUM:
If you're interested in adding Flashlight to the EPM, this is the onPress method:
Code:
.method public onPress()V
.registers 6
.prologue
sget-boolean v0, Lcom/android/internal/policy/impl/GlobalActions$20;->mFlashlight:Z
if-nez v0, :cond_6
const/4 v2, 0x1
goto :goto_7
:cond_6
const/4 v2, 0x0
:goto_7
sput-boolean v2, Lcom/android/internal/policy/impl/GlobalActions$20;->mFlashlight:Z
invoke-static {v2}, Lcom/sec/android/hardware/SecHardwareInterface;->setTorchLight(I)V
return-void
.end method
Good info. Looks like I have some work to do. Question, would these modifications require deodexed rom?
Tapped from the Shear Galaxy Near You!
htcslic said:
Good info. Looks like I have some work to do. Question, would these modifications require deodexed rom?
Tapped from the Shear Galaxy Near You!
Click to expand...
Click to collapse
I only work with deodexed files.
jeboo said:
I only work with deodexed files.
Click to expand...
Click to collapse
Gonna try with odex'd and see how things go..
Tapped from the Shear Galaxy Near You!
Awesome work jeboo
thanks for your efforts!
Sent from my SHV-E300S using XDA Premium HD app
I've updated the OP onPress() code to make the phone shut down gracefully (animation, etc). It seems rebootOrShutdown was a bit too low level. You can also decide if you want a confirmation box too. Thanks to shoman for pointing this out
Are you thinking of making a flashable zip?
Sent from my SAMSUNG-SGH-I337 using xda premium
goobieracing said:
Are you thinking of making a flashable zip?
Sent from my SAMSUNG-SGH-I337 using xda premium
Click to expand...
Click to collapse
I rarely post .zips, and it would be unwise in this case. Mismatched resource IDs will lead to crash and/or possible bootloop.
I updated the OP with the code needed for adding a Flashlight menu option.
jeboo said:
I updated the OP with the code needed for adding a Flashlight menu option.
Click to expand...
Click to collapse
Really Nice brother! Thanks alot
Can you make toturial for screen short....
Sent from my GT-I9205
I have use this info 2 or 3 times now, great work, and works perfect...thanks.
---------- Post added at 09:53 AM ---------- Previous post was at 09:51 AM ----------
jeboo said:
I rarely post .zips, and it would be unwise in this case. Mismatched resource IDs will lead to crash and/or possible bootloop.
Click to expand...
Click to collapse
lol, and trust me, this is exactly what happens, it will not boot. been there done that...
I wish there was one place with info like this for other mods....you know, like a all in one place...would be cool.
I'll post the screenshot code later, it was not a trivial patch
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
jeboo said:
I'll post the screenshot code later, it was not a trivial patch
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Click to expand...
Click to collapse
@jeboo Hey bro I'm trying to do this setup for the Note 3, can I get the icons for the download and recovery options if you don't mind? Thanks bro!
htcslic said:
Gonna try with odex'd and see how things go..
Tapped from the Shear Galaxy Near You!
Click to expand...
Click to collapse
I posted this in a different thread but this one seems more active.
I am running JB 4.2.2 on a Tmobile Galaxy S4. Here is what I've done thus far:
1) Pulled /system/framework/framework-res.apk
2) Installed framework.
Code:
I: Framework installed to: C:\Users\Syed\apktool\framework\1.apk
3) Decompiled framework-res.apk
Code:
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
4) Added the two drawables in /res/drawable-hdpi
5) Added the two strings in /res/values/strings.xml
Code:
<string name="download">Bootloader</string>
<string name="recovery">Recovery</string>
6) Compiled framework-res.apk
7) Deodexed android.policy.jar with "Universal Deodexer V4"
8) Made my GlobalActions smali changes.
9) Tried to odex android.policy.jar back but got stuck on how to do it. Used Auto Odexer Script by Alkhafaf. If I can get past this part, I'll be able to push both the updated framework-res.apk and the odex'ed android.policy.jar and see the results.
Were you able to succeed with your odex'ed files? Thanks.
i have tried many guides for EPM and got same result my phone dont pass the first screen ie. Galaxy ace gts5830i
Any solution??
Sent from my GT-S5830i using Tapatalk 2
destructo570 said:
i have tried many guides for EPM and got same result my phone dont pass the first screen ie. Galaxy ace gts5830i
Any solution??
Click to expand...
Click to collapse
There are a couple xposed modules that do this. Might be worth the try.
destructo570 said:
i have tried many guides for EPM and got same result my phone dont pass the first screen ie. Galaxy ace gts5830i
Any solution??
Sent from my GT-S5830i using Tapatalk 2
Click to expand...
Click to collapse
I'll post a new diff once 4.4 is out..There may be some subtle changes causing problems.
EPM
I tried this on a Verizon S4 running MK2 4.3 and when I hold down the power button. The phone just hot boots.
Do you have a how to for 4.3? I just figured it out. Got it working on 4.3. See here http://forum.xda-developers.com/showthread.php?t=2623196
Thank You for all your hard work
Hello!
Thank you for your great mod!
I've followed all the instructions and got 2 extra strings in power menu, but there's one issue:
For some reason Recovery id named "Bootloader" and Download is named :Recovery" and also, when i press "Download"("Recovery on the screenshot) phone just reboots as normal, while, when i press "Recovery" ("Bootloader" on the screenshot), phone normally boots to recovery.
So, can anybody help me to correct this?
Thank you!
UPD. Fixed names, but phone still doesnt boot to download mode.

(Guide)How to port Ics lockscreen to Gb for Micromax a57 / A54/ Samsung galaxy y

I am Suraj ​
again with New guide
How to port ICs lockscreen TO GB
{
"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"
}
Tested On micromax a57 a54 Both are qualcom so cant say about samsung and other Mediatech or mtk device
THis is full explained Guide dont bore
So let start
We have to Follow 5 step for gettings ics lockscreen
first step here start
download this zip firststep.zip
1.copy res folder to your framework-res folder
2. Open ids.xml under res/values foler and add these in last above
Code:
<item type="id" name="rl_multiWaveView">false</item>
<item type="id" name="digital_clock">false</item>
<item type="id" name="dateShow">false</item>
<item type="id" name="iv_drop">false</item>
<item type="id" name="ib_greenorange">false</item>
<item type="id" name="rl_click_after">false</item>
<item type="id" name="ib_photo">false</item>
<item type="id" name="ib_greenorange_gone">false</item>
<item type="id" name="ib_phone">false</item>
<item type="id" name="tv_phone_unread">false</item>
<item type="id" name="ib_sms">false</item>
<item type="id" name="tv_sms_unread">false</item>
<item type="id" name="ib_home">false</item>
<item type="id" name="tv_remind">false</item>
<item type="id" name="rl_multiWaveViewforsimulateics">false</item>
<item type="id" name="iv_wave">false</item>
<item type="id" name="iv_wave1">false</item>
<item type="id" name="iv_wave2">false</item>
<item type="id" name="iv_circle">false</item>
3.. compile the framework-res.apk
4.Now decompile your framework-res.apk
Now open your public.xml
Leave it alone Now first step complete
:fingers-crossed:
TIME TO DO SECOND SEC0ND STEP
HERE WE START
dOWNLAOD THIS zIP.(SECOND STEP.ZIP)
thats our smalli editing part
1.Now decompile your android.policy.jar ( I GIVEN TOOL INSIDE)
NOW copy all smalli to your decompiled android.policy .jar folder one by one
Now open all files related to com\android\internal\policy\impl mine files
Search " 0x10" Copy the whole id .
Open my provided public.xml
Search for that id in my public.xml
Copy the text of that id.
Like if my Public id is "0x101000e"
but in you pubilc.xml it start from "0x0101000e" means you have to add 0 before 1
its a boring part naa but its too much neccesarry too soo better you Do it carefully slow slow dont do fast other it will create reason for bootloop
NOW OUR 2ND PART IS COMPLETE nOW TIME TO START 3 PART
SO HERE WE START
DOWNLOAD THIS ZIP (THIRD PART.ZIP)
thats our Main and difficult part
in your android.policy.jar decompiled folder
search for LockPatternKeyguardView.smalli
open it ..
then search for
.field private mScreenOn:Z
Click to expand...
Click to collapse
then below it add
.field private mStartForIntent:Landroid/content/Intent;
Click to expand...
Click to collapse
then search for
.method createLockScreen()Landroid/view/View;
Click to expand...
Click to collapse
then after
.prologue
Click to expand...
Click to collapse
add this
.prologue
.line 660
const-string v3, "true"
const-string v2, "ro.origin.lockscreen"
.line 711
const-string v0, "ro.origin.lockscreen"
const-string v0, "true"
invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/StringLjava/lang/String;
move-result-object v0
const-string v1, "false"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_24
.line 712
new-instance v0, Lcom/android/internal/policy/impl/GreenOrange_LockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/GreenOrange_LockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallbackV
.line 726
:goto_23
return-object v0
.line 718
:cond_24
const-string v0, "ro.origin.lockscreen"
const-string v0, "true"
invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/StringLjava/lang/String;
move-result-object v0
const-string v1, "simulateICS"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_44
.line 719
new-instance v0, Lcom/android/internal/policy/impl/SimulateICS_LockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/SimulateICS_LockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallbackV
goto :goto_23
:cond_44
Click to expand...
Click to collapse
then search for
.method static synthetic access$100(Lcom/android/internal/policy/impl/LockPatternKeyguardViewZ
.registers 2
.parameter "x0"
.prologue
.line 65
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsVerifyUnlockOnly:Z
return v0
.end method
Click to expand...
Click to collapse
then add this code under
.method static synthetic access$1000(Lcom/android/internal/policy/impl/LockPatternKeyguardViewLandroid/content/Intent;
.registers 2
.parameter "x0"
.prologue
.line 65
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
return-object v0
.end method
.method static synthetic access$1002(Lcom/android/internal/policy/impl/LockPatternKeyguardView;Landroid/content/IntentLandroid/content/Intent;
.registers 2
.parameter "x0"
.parameter "x1"
.prologue
.line 65
iput-object p1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
return-object p1
.end method
Click to expand...
Click to collapse
Now our third step is completed
---------------------------------------------------------------------------------
Now our forth step here start
1. go to com\android\internal\policy\impl ( your decompiled android.policy.jar)
search for LockPatternKeyguardView$1.smalli
Now open it
then search for
.method public goToUnlockScreen()V
Click to expand...
Click to collapse
then you will see this method
.method public goToUnlockScreen()V
.registers 3
to
#calls: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->updateScreen(Lcom/android/internal/policy/impl/LockPatternKeyguardView$ModeV
invoke-static {v0, v1}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$200(Lcom/android/internal/policy/impl/LockPatternKeyguardView;Lcom/android/internal/policy/impl/LockPatternKeyguardView$ModeV
goto :goto_8
.end method
Click to expand...
Click to collapse
so delete this full method
and add this
.method public goToUnlockScreen()V
.registers 6
.prologue
const/4 v2, 0x1
const-string v4, "true"
const-string v3, "ro.origin.lockscreen"
.line 248
invoke-virtual {p0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->isSecure()Z
move-result v0
if-nez v0, :cond_3d
.line 249
const-string v0, "ro.origin.lockscreen"
const-string v0, "true"
invoke-static {v3, v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/StringLjava/lang/String;
move-result-object v0
const-string v1, "false"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_1f
.line 250
invoke-virtual {p0, v2}, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->keyguardDone(Z)V
.line 259
:goto_1e
return-void
.line 251
:cond_1f
const-string v0, "ro.origin.lockscreen"
const-string v0, "true"
invoke-static {v3, v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/StringLjava/lang/String;
move-result-object v0
const-string v1, "simulateICS"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_33
.line 252
invoke-virtual {p0, v2}, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->keyguardDone(Z)V
goto :goto_1e
.line 254
:cond_33
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->getCallback()Lcom/android/internal/policy/impl/KeyguardViewCallback;
move-result-object v0
invoke-interface {v0, v2}, Lcom/android/internal/policy/impl/KeyguardViewCallback;->keyguardDone(Z)V
goto :goto_1e
.line 257
:cond_3d
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
sget-object v1, Lcom/android/internal/policy/impl/LockPatternKeyguardView$Mode;->UnlockScreen:Lcom/android/internal/policy/impl/LockPatternKeyguardView$Mode;
#calls: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->updateScreen(Lcom/android/internal/policy/impl/LockPatternKeyguardView$ModeV
invoke-static {v0, v1}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$200(Lcom/android/internal/policy/impl/LockPatternKeyguardView;Lcom/android/internal/policy/impl/LockPatternKeyguardView$ModeV
goto :goto_1e
.end method
Click to expand...
Click to collapse
Now search for
.method public isSecure()Z
Click to expand...
Click to collapse
then above it add this
.method public isGotoUnlockscreen(Landroid/content/IntentV
.registers 3
.parameter "intent"
.prologue
.line 398
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
#setter for: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
invoke-static {v0, p1}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$1002(Lcom/android/internal/policy/impl/LockPatternKeyguardView;Landroid/content/IntentLandroid/content/Intent;
.line 399
return-void
.end method
Click to expand...
Click to collapse
========================================================================================================
Now search for
.method public keyguardDone(Z)V
Click to expand...
Click to collapse
replace full method with
.method public keyguardDone(Z)V
.registers 6
.parameter "authenticated"
.prologue
const-string v3, "true"
const-string v2, "ro.origin.lockscreen"
.line 334
const-string v0, "ro.origin.lockscreen"
const-string v0, "true"
invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/StringLjava/lang/String;
move-result-object v0
const-string v1, "false"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_3c
.line 335
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->getCallback()Lcom/android/internal/policy/impl/KeyguardViewCallback;
move-result-object v0
invoke-interface {v0, p1}, Lcom/android/internal/policy/impl/KeyguardViewCallback;->keyguardDone(Z)V
.line 336
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
#getter for: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
invoke-static {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$1000(Lcom/android/internal/policy/impl/LockPatternKeyguardViewLandroid/content/Intent;
move-result-object v0
if-eqz v0, :cond_3b
.line 337
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "mStartForIntent"
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/StringV
.line 338
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->getContext()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
#getter for: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
invoke-static {v1}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$1000(Lcom/android/internal/policy/impl/LockPatternKeyguardViewLandroid/content/Intent;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/Context;->startActivity(Landroid/content/IntentV
.line 349
:cond_3b
:goto_3b
return-void
.line 340
:cond_3c
const-string v0, "ro.origin.lockscreen"
const-string v0, "true"
invoke-static {v2, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/StringLjava/lang/String;
move-result-object v0
const-string v1, "simulateICS"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_6d
.line 341
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->getCallback()Lcom/android/internal/policy/impl/KeyguardViewCallback;
move-result-object v0
invoke-interface {v0, p1}, Lcom/android/internal/policy/impl/KeyguardViewCallback;->keyguardDone(Z)V
.line 342
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
#getter for: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
invoke-static {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$1000(Lcom/android/internal/policy/impl/LockPatternKeyguardViewLandroid/content/Intent;
move-result-object v0
if-eqz v0, :cond_3b
.line 343
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->getContext()Landroid/content/Context;
move-result-object v0
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
#getter for: Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mStartForIntent:Landroid/content/Intent;
invoke-static {v1}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->access$1000(Lcom/android/internal/policy/impl/LockPatternKeyguardViewLandroid/content/Intent;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/content/Context;->startActivity(Landroid/content/IntentV
goto :goto_3b
.line 346
:cond_6d
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView$1;->this$0:Lcom/android/internal/policy/impl/LockPatternKeyguardView;
invoke-virtual {v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->getCallback()Lcom/android/internal/policy/impl/KeyguardViewCallback;
move-result-object v0
invoke-interface {v0, p1}, Lcom/android/internal/policy/impl/KeyguardViewCallback;->keyguardDone(Z)V
goto :goto_3b
.end method
Click to expand...
Click to collapse
--------------------------------------------------------------------------------------------------------------------------------------
Now save this Smalli
Now search for this
KeyguardScreenCallback.smalli
then search for
.method public abstract goToUnlockScreen()V
.end method
Click to expand...
Click to collapse
then add this below this code
.method public abstract isGotoUnlockscreen(Landroid/content/IntentV
.end method
Click to expand...
Click to collapse
Here our fourth step is completed
Now here we start our 5th step
downlaod this Zip (5th step)
Now open zip copy this fonts to your system/fonts (necceassry step other wise you will face bootloop)
Now open you build.prop
then search for
# ADDITIONAL_BUILD_PROPERTIES
Click to expand...
Click to collapse
then above it add
#add wanglu 20120811 start
#do not greenorging lockscreen
ro.origin.lockscreen=simulateICS
#add wanglu 20120811 end
Click to expand...
Click to collapse
I provided this flashable zip you can use it for your Flashing lockscreen (FLASHABLE.ZIP)
Note:
1 .if you are using my work so plz give me credit . because i spend many night and days for getting success.
and
If you are porting this guide To another thread inform me first . then i will create a seprate guide for your device.
by giving you credit and tester
​
@SK(SurajKumar) will it can work in Galaxy Y without got bootloop ? Cause i follow your guide in other thread but i got Bootloop
galaxy y question
GSculerlor said:
@SK(SurajKumar) will it can work in Galaxy Y without got bootloop ? Cause i follow your guide in other thread but i got Bootloop
Click to expand...
Click to collapse
if your are facing bootloop.
that means lockscreen trying to work.
problem may be you place wrong ids . paste your logcat here i will help you.
i already to told you all to work carefully
Great
working with karbonn a9 but need hdpi icons...
Like a Charm
SK(SurajKumar) said:
I am Suraj ​
again with New guide
How to port ICs lockscreen TO GB
Tested On micromax a57 a54 Both are qualcom so cant say about samsung and other Mediatech or mtk device
THis is full explained Guide dont bore
So let start
We have to Follow 5 step for gettings ics lockscreen
first step here start
download this zip firststep.zip
1.copy res folder to your framework-res folder
2. Open ids.xml under res/values foler and add these in last above
Code:
<item type="id" name="rl_multiWaveView">false</item>
<item type="id" name="digital_clock">false</item>
<item type="id" name="dateShow">false</item>
<item type="id" name="iv_drop">false</item>
<item type="id" name="ib_greenorange">false</item>
<item type="id" name="rl_click_after">false</item>
<item type="id" name="ib_photo">false</item>
<item type="id" name="ib_greenorange_gone">false</item>
<item type="id" name="ib_phone">false</item>
<item type="id" name="tv_phone_unread">false</item>
<item type="id" name="ib_sms">false</item>
<item type="id" name="tv_sms_unread">false</item>
<item type="id" name="ib_home">false</item>
<item type="id" name="tv_remind">false</item>
<item type="id" name="rl_multiWaveViewforsimulateics">false</item>
<item type="id" name="iv_wave">false</item>
<item type="id" name="iv_wave1">false</item>
<item type="id" name="iv_wave2">false</item>
<item type="id" name="iv_circle">false</item>
3.. compile the framework-res.apk
4.Now decompile your framework-res.apk
Now open your public.xml
Leave it alone Now first step complete
:fingers-crossed:
TIME TO DO SECOND SEC0ND STEP
HERE WE START
dOWNLAOD THIS zIP.(SECOND STEP.ZIP)
thats our smalli editing part
1.Now decompile your android.policy.jar ( I GIVEN TOOL INSIDE)
NOW copy all smalli to your decompiled android.policy .jar folder one by one
Now open all files related to com\android\internal\policy\impl mine files
Search " 0x10" Copy the whole id .
Open my provided public.xml
Search for that id in my public.xml
Copy the text of that id.
Like if my Public id is "0x101000e"
but in you pubilc.xml it start from "0x0101000e" means you have to add 0 before 1
its a boring part naa but its too much neccesarry too soo better you Do it carefully slow slow dont do fast other it will create reason for bootloop
NOW OUR 2ND PART IS COMPLETE nOW TIME TO START 3 PART
SO HERE WE START
DOWNLOAD THIS ZIP (THIRD PART.ZIP)
thats our Main and difficult part
in your android.policy.jar decompiled folder
search for LockPatternKeyguardView.smalli
open it ..
then search for
then below it add
then search for
then after
add this
then search for
then add this code under
Now our third step is completed
---------------------------------------------------------------------------------
Now our forth step here start
1. go to com\android\internal\policy\impl ( your decompiled android.policy.jar)
search for LockPatternKeyguardView$1.smalli
Now open it
then search for
then you will see this method
so delete this full method
and add this
Now search for
then above it add this
========================================================================================================
Now search for
replace full method with
--------------------------------------------------------------------------------------------------------------------------------------
Now save this Smalli
Now search for this
KeyguardScreenCallback.smalli
then search for
then add this below this code
Here our fourth step is completed
Now here we start our 5th step
downlaod this Zip (5th step)
Now open zip copy this fonts to your system/fonts (necceassry step other wise you will face bootloop)
Now open you build.prop
then search for
then above it add
I provided this flashable zip you can use it for your Flashing lockscreen (FLASHABLE.ZIP)
Note:
1 .if you are using my work so plz give me credit . because i spend many night and days for getting success.
and
If you are porting this guide To another thread inform me first . then i will create a seprate guide for your device.
by giving you credit and tester
​
Click to expand...
Click to collapse
Works on galaxy pocket..
But from step 4,
It should be LockPatternKeyguardView$2.smali
-- Please include this on the Guide..
JUST PRESS THANKS !!
i got too much error tring tmrw again with fresh mind @SK Bro
i have galaxy pocket duos tdy tried but getting bootloop error and other error too much
Jom_o1 said:
[/HIDE]
Works on galaxy pocket..
But from step 4,
It should be LockPatternKeyguardView$2.smali
-- Please include this on the Guide..
JUST PRESS THANKS !!
Click to expand...
Click to collapse
thanks bro actually every device have different way to port lockscreen or lockscreen smalli so we have to find it our self . but thanks bro i will edit my thread
it can be port easily but need to do little bit more hard work
djraje said:
i got too much error tring tmrw again with fresh mind @SK Bro
i have galaxy pocket duos tdy tried but getting bootloop error and other error too much
Click to expand...
Click to collapse
it can be port easily but need to do little bit more hard work
ya bro i back
SK(SurajKumar) said:
it can be port easily but need to do little bit more hard work
Click to expand...
Click to collapse
tell bro
upload your logcat
djraje said:
tell bro
Click to expand...
Click to collapse
bro can you upload your logcat
SK(SurajKumar) said:
bro can you upload your logcat
Click to expand...
Click to collapse
cant bro coz i delete it after flash... when it not work ........
Re i am having compiling errors
Cyber Assassin said:
i am having compiling errors
View attachment 3111087
help me plz
my stock android.policy.jar
link: db.tt/wZKnMk1i
my modified classout
link: db.tt/9v2FMj0j
Sent from my mediatek gb device
Click to expand...
Click to collapse
Wait for some day i will uplaod for you
guys can u explain to me about this part???
1.Now decompile your android.policy.jar ( I GIVEN TOOL INSIDE)
NOW copy all smalli to your decompiled android.policy .jar folder one by one
Now open all files related to com\android\internal\policy\impl mine files
Search " 0x10" Copy the whole id .
Open my provided public.xml
Search for that id in my public.xml
Copy the text of that id.
Like if my Public id is "0x101000e"
but in you pubilc.xml it start from "0x0101000e" means you have to add 0 before 1
its a boring part naa but its too much neccesarry too soo better you Do it carefully slow slow dont do fast other it will create reason for bootloop
Click to expand...
Click to collapse
with SS pls ty

[GUIDE][PORT] [cm11] Dinamic statusbar

what is Dinamic statusbar??
can you see here
or here my original facebook post​
i comparing from another rom include this feature to pure CM11 base
big thanks to
Allah swt
my family
CyanogenMod
@ocoot
@bamzzz
@qoejohn
prabu siliwangi
anggi muhammad
syaeful anwar
deddy kitul
you
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk and JAR file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )
download file recources below
Settings.apk
Decompile Settings.apk
add string
Code:
<string name="dynamic_system_bars_title">Dynamic system bars</string>
<string name="dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_status_bar_summary">Automatically update the background of the status bar</string>
<string name="dynamic_navigation_bar_title">Dynamic navigation bar</string>
<string name="dynamic_navigation_bar_summary">Automatically update the background of the navigation bar</string>
<string name="dynamic_system_bars_gradient_title">System bar gradient</string>
<string name="dynamic_system_bars_gradient_summary">Overlay a gradient on the system bars</string>
<string name="dynamic_status_bar_filter_title">Darker status bar</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>
open
res/xml/display_settings.xml
add wherever you want
Code:
<PreferenceScreen android:title="Dinamic Status Bar" android:fragment="com.android.settings.oplosandev.DSBSettings" />
place DSBSettings.smali into folder "smali" ,after recompile and decompile automatic place directories name smali
Recompile
Decompile
open
DSBSettings.smali
matched
const v0, 0x7f050071 #type="xml" name="dsb_settings"
Recompile
sign
push
SystemUI.apk
decompile SystemUI
open
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions.smali
find
Code:
# instance fields
add above
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$1;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$GradientObserver;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
}
.end annotation
findmethod
Code:
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
replace with
Code:
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
.locals 4
.parameter "view"
.prologue
const/4 v3, 0x1
.line 47
new-instance v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v1, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
invoke-direct {p0, p1, v1}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 48
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
.line 49
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
invoke-virtual {v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 50
.local v0, res:Landroid/content/res/Resources;
const v1, 0x7f0b002b [COLOR="Red"]#type="dimen" name="status_bar_icon_drawing_alpha"[/COLOR]
invoke-virtual {v0, v1, v3, v3}, Landroid/content/res/Resources;->getFraction(III)F
move-result v1
iput v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mIconAlphaWhenOpaque:F
.line 51
return-void
.end method
skip this step if in your have it
add this
dimens.xml
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">75.0%</item>
colors.xml
Code:
<color name="status_bar_background_opaque">#ff000000</color>
<color name="status_bar_background_semi_transparent">#66000000</color>
intergers.xml
Code:
<integer name="dsb_transition_duration">500</integer>
push smali
recoompile
decompile
open public.xml
and matched all id
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable.smali
Code:
const v1, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable.smali
Code:
const v1, 0x7f090015 #type="integer" name="dsb_transition_duration"
Navbar
open
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
find code
Code:
# instance fields
.field private final mBarService:Lcom/android/internal/statusbar/IStatusBarService;
add above
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$GradientObserver;,
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
}
.end annotation
find
Code:
.method public constructor
change like it
Code:
# direct methods
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/NavigationBarView;)V
.locals 3
.parameter "view"
.prologue
.line 50
new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 242
new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;
invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;-><init>(Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;)V
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mLightsOutListener:Landroid/view/View$OnTouchListener;
.line 52
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
.line 53
const-string v0, "statusbar"
invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
move-result-object v0
invoke-static {v0}, Lcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
move-result-object v0
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mBarService:Lcom/android/internal/statusbar/IStatusBarService;
.line 55
return-void
.end method
save
open
Lcom/android/systemui/statusbar/phone/NavigationBarView$StatusBarBlockerTransitions;
find
Code:
.method public constructor
change to
Code:
# direct methods
.method public constructor <init>(Landroid/view/View;)V
.locals 5
.parameter "statusBarBlocker"
.prologue
.line 1268
new-instance v0, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
const v2, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;-><init>(Landroid/content/Context;III)V
invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 1273
return-void
.end method
and matched all id
Code:
const v2, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
do enabling navigation bar via build.prop
add this code at ADDITIONAL_BUILD_PROPERTIES
Code:
qemu.hw.mainkeys=0
push
Settings.apk /system/priv-app/here
SystemUI.apk /system/priv-app/here
systemui.so /system/lib/here
or other way, u can try methode flasahble.zip,adb,or other
Hi will it work in gingerbread phones? coz my systemui does not have phone folder under com/android/systemui/statusbar/
RESERVED !!!
nice share omm...
Jedz77 said:
Hi will it work in gingerbread phones? coz my systemui does not have phone folder under com/android/systemui/statusbar/
Click to expand...
Click to collapse
cm11 only.....
stock kk adjust
dugeriss said:
cm11 only.....
stock kk adjust
Click to expand...
Click to collapse
oh my bad. sorry. i really like it though. anyways thanks maan nice mod btw
dugeriss said:
what is Dinamic statusbar??
can you see here
or here my original facebook post​
i comparing from another rom include this feature to pure CM11 base
big thanks to
Allah swt
my family
CyanogenMod
@ocoot
@bamzzz
@qoejohn
prabu siliwangi
anggi muhammad
syaeful anwar
deddy kitul
you
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk and JAR file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )
download file recources below
Click to expand...
Click to collapse
Hey Great Guide!!Thank you for the willingness!Please could you make a guide on how to port Hover to cm11 ?Please it's so important for me and I've searched so many times on web but I haven't found nothing and I don't know how to do it,Please
ah..... great work sir :good: :fingers-crossed:
kitul..!!
Nice :good:
Ahmm .. Sir... I tried This one on cm11 ... but it doesnt force closes .. rather it gets black screen? i tried your guide twice .. but the same thing happens.. Please Help... BTw this guide is good
Thanks...
my Stock Kitkat 4.4.2 :good:
Can someone help me to upload cm 11 r26 statusbar without sim number indicator ??, my pc Hard disk got broken , lost all data, thanks
Thank you sir ,,
Micky99 said:
Hey Great Guide!!Thank you for the willingness!Please could you make a guide on how to port Hover to cm11 ?Please it's so important for me and I've searched so many times on web but I haven't found nothing and I don't know how to do it,Please
Click to expand...
Click to collapse
Hover is not easy because it gas so many commits with many additions and a lot of files changed
srisurya95 said:
Hover is not easy because it gas so many commits with many additions and a lot of files changed
Click to expand...
Click to collapse
Should I see your answer as a "no I won't help you",or do you mean you want to help me but it won't be easy?What's the problem?Do you think the hover related commits are too much for only two persons?
Micky99 said:
Should I see your answer as a "no I won't help you",or do you mean you want to help me but it won't be easy?What's the problem?Do you think the hover related commits are too much for only two persons?
Click to expand...
Click to collapse
I say its not possible/not so easy
srisurya95 said:
I say its not possible/not so easy
Click to expand...
Click to collapse
Dont you absolutely know some of the hover related commits?

Categories

Resources