[One (M7) Themes and Apps] rayford85:
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

<com.htc.launcher.pageview.AllAppsPagedView android:id="@id/all_apps_paged_view"

add a background tag like this

<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://xdaforums.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

.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

updateWallpaperVisibility

remove all lines containing that

example :

invoke-virtual {v0, v4}, Lcom/htc/launcher/Launcher;->updateWallpaperVisibility(Z)V

next go to Launcher$20.Smali

and again search for

updateWallpaperVisibility

remove all lines like this

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

.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

.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

<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

<com.htc.launcher.pageview.AllAppsPagedView android:id="@id/all_apps_paged_view"

add a background tag like this

<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

const/high16 v2, -0x100

change it to

const/high16 v2, 0x0

now recompile your app & Enjoy your transparent app drawer :D

**************************************************

Next mod, have 7 pages set for use

first go to res/layout/Workspace_page_thumbnail_container.xml

add this to it twice

<include layout="@layout/workspace_page_thumbnail" />
<include layout="@layout/workspace_page_thumbnail" />

next go to Workspace_pages.xml

add this

<include android:id="@id/cell0" layout="@layout/workspace_screen" />

and

<include android:id="@id/cell5" layout="@layout/workspace_screen" />

Next go to res/layout/workspace_page_protected.xml

add this

<include android:id="@id/cell5" layout="@layout/workspace_screen" />

next go to res/values/ids.xml

add this

<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

.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

.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

.field public static final DEFAULT_PAGE_COUNT:I = 0x4

change it to this

.field public static final DEFAULT_PAGE_COUNT:I = 0x6

find this

.field private static final MAX_PAGES:I = 0x5

change it to this

.field private static final MAX_PAGES:I = 0x7

Now find this method & change it as I have marked

.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

.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

.field static final SCREEN_COUNT:I = 0x5

to this

.field static final SCREEN_COUNT:I = 0x7

recompile your apk & enjoy 7 pages of widgets :D

That's all I have for now, I'll update the thread as I learn more ;)

CREDITS

Onepagebook

*Ajthescot

​