[MOD] [HOW-TO] 4.4.2 TW All apps in multi & pen window | Quad view

Search This thread

tkari4

Senior Member
Jan 24, 2010
2,231
6,982
Isn't my work all credits to @kin201303

original thread: http://forum.xda-developers.com/showthread.php?t=2729438

Root and deodexed framework2.jar recommended.

Needed tools:

Backsmali/Smali
Notepad++
7Zip

1.) Baksmali framework2.jar
2.) Navigate to com/samsung/android/multiwindow folder
3.) Open MultiWindowApplicationInfos.smali

find: .field private static final SUPPORTEDSCALE_ALL_APPLICATIONS:Z

add blue

Code:
# static fields
[COLOR="Blue"].field private static final CONFIG_FILE:Ljava/lang/String; = "/system/etc/mw_blacklist.txt"[/COLOR]

[COLOR="DarkGreen"].field private static final SUPPORTEDSCALE_ALL_APPLICATIONS:Z[/COLOR]

find: .field mNotSupportScaleAppList:Ljava/util/ArrayList;

add blue

Code:
.end field

[COLOR="Blue"].field mMaxPenWindowCount:I

.field private mMultiWindowBlackList:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field  [/COLOR]

[COLOR="DarkGreen"].field mNotSupportScaleAppList:Ljava/util/ArrayList;[/COLOR]

find: .method public isSupportApp(Ljava/lang/String;)Z

overwrite the whole method with this new one:

Code:
[COLOR="DarkGreen"].method public isSupportApp(Ljava/lang/String;)Z[/COLOR]
    .registers 6

    iget-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;

    if-nez v2, :cond_3b

    new-instance v2, Ljava/util/ArrayList;

    invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V

    iput-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;

    new-instance v2, Ljava/io/File;

    const-string v3, "/system/etc/mw_blacklist.txt"

    invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2}, Ljava/io/File;->exists()Z

    move-result v2

    if-eqz v2, :cond_3b

    :try_start_18
    new-instance v1, Ljava/io/BufferedReader;

    new-instance v2, Ljava/io/FileReader;

    const-string v3, "/system/etc/mw_blacklist.txt"

    invoke-direct {v2, v3}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V

    :cond_24
    :goto_24
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_3b

    invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v2

    if-lez v2, :cond_24

    iget-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;

    invoke-interface {v2, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
    :try_end_39
    .catch Ljava/lang/Exception; {:try_start_18 .. :try_end_39} :catch_3a

    goto :goto_24

    :catch_3a
    move-exception v2

    :cond_3b
    iget-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;

    invoke-interface {v2, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_45

    const/4 v2, 0x1

    :goto_44
    return v2

    :cond_45
    const/4 v2, 0x0

    goto :goto_44
.end method

find: .method public isSupportScaleApp(Landroid/content/pm/ActivityInfo;)Z

overwrite the whole method with this new one:

Code:
[COLOR="DarkGreen"].method public isSupportScaleApp(Landroid/content/pm/ActivityInfo;)Z[/COLOR]
    .registers 2

    const/4 p0, 0x1

    return p0
.end method

4.) Save your changes
5.) Smali classout folder
6.) Add the new classes.dex file to framework2.jar with 7Zip
7.) Push to your Phone
8.) Copy the attached mw_backlist.txt to system/etc folder set permissions. (rw-r--r--)
9.) Reboot
 

Attachments

  • Screenshot_2014-06-01-18-54-16.jpg
    Screenshot_2014-06-01-18-54-16.jpg
    76.2 KB · Views: 4,802
  • Screenshot_2014-06-01-18-54-37.jpg
    Screenshot_2014-06-01-18-54-37.jpg
    47.4 KB · Views: 4,771
  • mw_blacklist.txt
    1.5 KB · Views: 973
Last edited:

tkari4

Senior Member
Jan 24, 2010
2,231
6,982
4.4.2 Multi Instance & Quad view

Optional: Multi instance

find: .method public isSupporMultiInstance(Landroid/content/pm/ActivityInfo;)Z

Delete red
Add blue

Code:
[COLOR="DarkGreen"].method public isSupporMultiInstance(Landroid/content/pm/ActivityInfo;)Z[/COLOR]
    .registers 5
    .parameter "activityInfo"

    .prologue
    [COLOR="red"]const/4 v0, 0x0[/COLOR]
    [COLOR="blue"]const/4 v0, 0x1[/COLOR]

    .line 217
    if-eqz p1, :cond_7

    iget-object v1, p1, Landroid/content/pm/ComponentInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;

    if-nez v1, :cond_8


Optional: Quad view

Thanks to @unclefab for sharing!

Original thread: http://forum.xda-developers.com/showthread.php?t=2770531

Whit this mod you can see 4 app in multi window. (second & third screen shot in the attachment)

Download the attached rar file and copy com.sec.feature.multiwindow.quadview.xml from it to:
/ system / etc / permissions folder

Set permissions to rw-r--r--

Reboot.

;)
 

Attachments

  • Screenshot_2014-06-01-19-25-37.jpg
    Screenshot_2014-06-01-19-25-37.jpg
    78.5 KB · Views: 2,402
  • Screenshot_2014-06-28-14-45-15.jpg
    Screenshot_2014-06-28-14-45-15.jpg
    44.4 KB · Views: 1,898
  • Screenshot_2014-06-28-14-45-23.jpg
    Screenshot_2014-06-28-14-45-23.jpg
    35.8 KB · Views: 1,858
  • com.sec.feature.multiwindow.quadview.rar
    639 bytes · Views: 589
Last edited:

kallel.abdesslem

New member
Jun 18, 2013
3
1
Nice job!! Really great thing..

Ancient phones: Nokia 3310, 5210, 6610, 6600, Samsung E700, Samsung D410, Nokia N73, Siemens SL55, Iphone 2G, Nokia E5, Samsung galaxy S2, S3, Galaxy grand duos.
Sent from my samsung note III N9005.
 
  • Like
Reactions: tkari4

Vish.N

Senior Member
Jun 23, 2013
81
37
Can someone mod the files and make a flashable zip for the stock Tmo NE6 rom for us noobs please. Thank you

Sent from my SM-N900T using Tapatalk
 

Vish.N

Senior Member
Jun 23, 2013
81
37
framework file

Post your file framework2.jar and twframework2.odex in dropbox, mega or other service and I mod and make a flashable zip file for you.

Sent from my SM-N9005 using xda premium

Hi. I attached the files you asked for. Thank you
 

Attachments

  • framework.zip
    4.4 MB · Views: 28

maskerwsk

Senior Member
Dec 13, 2011
1,479
1,588
Sheffield
Is this mod for odex rom? Im getting an android upgrading message after every reboot. An im sure thats what happens with odex mods......could be wrong tho lol

Sent from my SM-N9005 using XDA Premium 4 mobile app
 
  • Like
Reactions: tkari4

Mikyno

Senior Member
Sep 1, 2012
1,406
1,609
Roma
Hi man! Thanks for sharing your guide. I am having problems in making it working for N8000. I have done all those changes to smali but no luck. Do you have an hint :)?
 
Last edited:

technoyama

Senior Member
Sep 28, 2012
80
28
Dois Vizinhos
youtube.com
Hi. I attached the files you asked for. Thank you

Hi Vish.N
I access the XDA's Forum just today. I found a problem when trying to deodex your framework2.jar and I'll check what might be going wrong in the process. I'm a bit out of time because final exams here at the college where I teach. But by the end of the week I send you the modified file.
Sorry for answering just now
 

Top Liked Posts

  • There are no posts matching your filters.
  • 26
    Isn't my work all credits to @kin201303

    original thread: http://forum.xda-developers.com/showthread.php?t=2729438

    Root and deodexed framework2.jar recommended.

    Needed tools:

    Backsmali/Smali
    Notepad++
    7Zip

    1.) Baksmali framework2.jar
    2.) Navigate to com/samsung/android/multiwindow folder
    3.) Open MultiWindowApplicationInfos.smali

    find: .field private static final SUPPORTEDSCALE_ALL_APPLICATIONS:Z

    add blue

    Code:
    # static fields
    [COLOR="Blue"].field private static final CONFIG_FILE:Ljava/lang/String; = "/system/etc/mw_blacklist.txt"[/COLOR]
    
    [COLOR="DarkGreen"].field private static final SUPPORTEDSCALE_ALL_APPLICATIONS:Z[/COLOR]

    find: .field mNotSupportScaleAppList:Ljava/util/ArrayList;

    add blue

    Code:
    .end field
    
    [COLOR="Blue"].field mMaxPenWindowCount:I
    
    .field private mMultiWindowBlackList:Ljava/util/List;
        .annotation system Ldalvik/annotation/Signature;
            value = {
                "Ljava/util/List",
                "<",
                "Ljava/lang/String;",
                ">;"
            }
        .end annotation
    .end field  [/COLOR]
    
    [COLOR="DarkGreen"].field mNotSupportScaleAppList:Ljava/util/ArrayList;[/COLOR]

    find: .method public isSupportApp(Ljava/lang/String;)Z

    overwrite the whole method with this new one:

    Code:
    [COLOR="DarkGreen"].method public isSupportApp(Ljava/lang/String;)Z[/COLOR]
        .registers 6
    
        iget-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;
    
        if-nez v2, :cond_3b
    
        new-instance v2, Ljava/util/ArrayList;
    
        invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
    
        iput-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;
    
        new-instance v2, Ljava/io/File;
    
        const-string v3, "/system/etc/mw_blacklist.txt"
    
        invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
    
        invoke-virtual {v2}, Ljava/io/File;->exists()Z
    
        move-result v2
    
        if-eqz v2, :cond_3b
    
        :try_start_18
        new-instance v1, Ljava/io/BufferedReader;
    
        new-instance v2, Ljava/io/FileReader;
    
        const-string v3, "/system/etc/mw_blacklist.txt"
    
        invoke-direct {v2, v3}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
    
        invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    
        :cond_24
        :goto_24
        invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
    
        move-result-object v0
    
        if-eqz v0, :cond_3b
    
        invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
    
        move-result-object v0
    
        invoke-virtual {v0}, Ljava/lang/String;->length()I
    
        move-result v2
    
        if-lez v2, :cond_24
    
        iget-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;
    
        invoke-interface {v2, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
        :try_end_39
        .catch Ljava/lang/Exception; {:try_start_18 .. :try_end_39} :catch_3a
    
        goto :goto_24
    
        :catch_3a
        move-exception v2
    
        :cond_3b
        iget-object v2, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mMultiWindowBlackList:Ljava/util/List;
    
        invoke-interface {v2, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
    
        move-result v2
    
        if-nez v2, :cond_45
    
        const/4 v2, 0x1
    
        :goto_44
        return v2
    
        :cond_45
        const/4 v2, 0x0
    
        goto :goto_44
    .end method

    find: .method public isSupportScaleApp(Landroid/content/pm/ActivityInfo;)Z

    overwrite the whole method with this new one:

    Code:
    [COLOR="DarkGreen"].method public isSupportScaleApp(Landroid/content/pm/ActivityInfo;)Z[/COLOR]
        .registers 2
    
        const/4 p0, 0x1
    
        return p0
    .end method

    4.) Save your changes
    5.) Smali classout folder
    6.) Add the new classes.dex file to framework2.jar with 7Zip
    7.) Push to your Phone
    8.) Copy the attached mw_backlist.txt to system/etc folder set permissions. (rw-r--r--)
    9.) Reboot
    16
    4.4.2 Multi Instance & Quad view

    Optional: Multi instance

    find: .method public isSupporMultiInstance(Landroid/content/pm/ActivityInfo;)Z

    Delete red
    Add blue

    Code:
    [COLOR="DarkGreen"].method public isSupporMultiInstance(Landroid/content/pm/ActivityInfo;)Z[/COLOR]
        .registers 5
        .parameter "activityInfo"
    
        .prologue
        [COLOR="red"]const/4 v0, 0x0[/COLOR]
        [COLOR="blue"]const/4 v0, 0x1[/COLOR]
    
        .line 217
        if-eqz p1, :cond_7
    
        iget-object v1, p1, Landroid/content/pm/ComponentInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
    
        if-nez v1, :cond_8


    Optional: Quad view

    Thanks to @unclefab for sharing!

    Original thread: http://forum.xda-developers.com/showthread.php?t=2770531

    Whit this mod you can see 4 app in multi window. (second & third screen shot in the attachment)

    Download the attached rar file and copy com.sec.feature.multiwindow.quadview.xml from it to:
    / system / etc / permissions folder

    Set permissions to rw-r--r--

    Reboot.

    ;)
    4
    Just as info...

    mw_blacklist.txt is updated in the OP

    Keyguard and SHealth apps must be added to skiplist, because they cause FC sometimes.

    :eek:
    2
    Thank you tkari4. It also works great in the S5 port (why not :eek:).
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone