[MOD] MoreFlymeNotifications | Expanded notifications in Flyme OS

Search This thread

iicc

Senior Member
Apr 10, 2015
370
141
MoreFlymeNotifications



Hello to everybody!

:D



You probably know that in Flyme OS, most of non-chinesse notifications appear with a generic notification icon.
So I have discovered a way to have the notifications separated! Instead of having all of them grouped together in that icon that you dont know what notification are you receiving.



Here you have some examples:

te9Q44gl.jpg





te9Q44gl.jpg

te9Q44gl.jpg

9VMhA4gl.jpg



So, What does this mod?

This is a SystemUI modification in with I have modified some smali files and I have added the icons inside the apk in order to be Flyme able to recognize the app and put the original notification icons.
But this method have a bad thing.. all the notification icons have to be added by hand, and also the activities of the apps. So because this is a HUGE work for me to find out all the icons of every app, I ask you for help to submit the icons of the apps that you use and you want to get notified. In this way, the mod will be more complete and I will finish sooner :good:
(This is explained in post 2º)
Thanks!




What devices are supported?

Currently this mod is only available for Meizu MX4, but I will adapt it to the Meizu M1 Note and Meizu MX4 Pro in a very short time.
Maybe I will adapt also to the Meizu MX3 if some people request it.
Stay tuned!




How can I install this Mod?

You can install it as a normal system app in system/priv-app replacing the old SystemUI.apk with the correct permisions (0644), erase SystemUI.odex and reboot.
In case you are in Lollipop, you have to put the SystemUI.apk inside the folder called "SystemUI" replacing the previous apk and with 0644 permisions


Also I have created an installer ;)

To install this mod wih my installer you need this:
-BusyBox
-Terminal Emulator
-My mod (SystemUI.apk) and the installer located in the internal memory.




After you have BusyBox and the terminal emulator downloaded and installed, you have to open the Terminal and write down this and press enter:
Code:
su


A window will appear requesting for root access, select allow.

Now, write this and hit enter:

Code:
sh  /sdcard/NotificationsInstaller



My installer will be executed and you will see all the secuences of the installation :cowboy:

7HcknxDl.jpg


7HcknxDl.jpg



Changelog:



All icons included at now:
amazon App Store
telegram
ebay
tapatalk
Snapchat
youtube
Aliexpress
SmartWatch
Vueling
DI Radio
Screen Filter
Spotify
Flynx.
9gag
clash of clans
imdb
google play
soundcloud
timely
Wallapop
Aquamail
El Tiempo.es
twitter
skype
viber
instagram
whatsapp
facebook
facebook messenger
google plus
gmail
hangouts
uc
PrinterShare
Mensajes
Disa
Inbox
Kakaotalk







v1.0
-Added:
amazon App Store
telegram
ebay
tapatalk
Snapchat
youtube
Aliexpress
SmartWatch
Vueling


v1.1
-Added:
DI RadioScreen Filter
-Fixed icons size
-Fixed icons transparency



v1.2
-Added:
Spotify
Flynx
9gag
clash of clans
imdb
google play
soundcloud
timely
Wallapop
Aquamail
El Tiempo.es



v1.3
-Added:
Pinterest
PayPal
HTCMania
-Fixed previous battery icon
-M1 Note compatible




New! v1.4


-All code rewrited and modded
-For Meizu M1 Note & MX4 Flyme 4.5
-New lollipop installer
-New icons:
PrinterShare
Mensajes
Disa
Inbox
Kakaotalk

Download


Google Drive directory with all the stuff organizated ;)


HERE




Thanks for using my mod!

:victory: Like for more Flyme Mods :victory:


 
Last edited:

iicc

Senior Member
Apr 10, 2015
370
141
How can I colaborate adding my own notification icons?

If you want to add more apps to this mod, you have to extract the notification icon from the apps.
All the user apps are located in /data/app


You have to copy and paste the apk to the internal memory to be able to pass the apk to the computer.

Once you have the apk located in the pc, you have to rigth click and select "open as..". Select open with WinRar or similar

Now you are inside the apk. Just drag the folde called "res" outside tha apk.

Inside the res folder, the folders called "drawable-xxhdpi" and "drawable-xhdpi" is where the notification icon is.

The icon is usually called "notification_icon.png"or something like that. It usually has a size less than 100x100px

This is the icon I am requesting for, you can upload it in the excell tab (see the end of the post)



Also It would be nice if you write me the Main Activity of the apps.
This is very simple, you only have to have xShorcut app installed in your phone.
In side this app, go to App Shorcut, find the app and copy in the excell tab the text below "Component Package"




The excell tab is here



Thanks for supporting this mod :D:D



 
Last edited:
  • Like
Reactions: l1r_svg

iicc

Senior Member
Apr 10, 2015
370
141
Added support for the Meizu M1 Note! It is avaliable for download.

I will edit the post later
 

l1r_svg

New member
May 25, 2015
4
0
Hi, sorry for bad English, I write through Google translator:D

I want to ask you, if you can write the instructions, or just write in any files you are prescribed changes. I just think those icons that I use is not much need rest, as you do not have to collect all the icons, everyone will be able to collect them for yourself.

thanks for the mod, everything works:good:

p.s. I tried to decompile your systemui, which would then be compared with the unmodified systemui and to understand the changes. but I could not.
 
Last edited:

iicc

Senior Member
Apr 10, 2015
370
141
Hi, sorry for bad English, I write through Google translator:D

I want to ask you, if you can write the instructions, or just write in any files you are prescribed changes. I just think those icons that I use is not much need rest, as you do not have to collect all the icons, everyone will be able to collect them for yourself.

thanks for the mod, everything works:good:

p.s. I tried to decompile your systemui, which would then be compared with the unmodified systemui and to understand the changes. but I could not.
Sorry I havent read your comment until now :crying:


Thanks!
So do you want to know how to do this mod by yourself? Of course, I will tell you but it very easy to get a bad compilation

I think the best thing is to have all icons colleted in one, like I am doing, because few people will know how to put the icons in the systemUI and modify it, so very few people will use it. Also icons only are a few bytes large, you wont notice the difference.

So, this is what I do:

After decompiling SystemUI.apk, you have to go to systemui/res/drawablexxhdpi or drawablexxxhdpi if you have a M1 Note and put here the icons
Next, go to /systemui/res/values/public.xml, open it and erase some lines that refers to icons of chinese apps that are not used outside china. Put the name of the icon replacing it and write the id's in a notepaper or somewere to remember it.
Now go to /systemui/smali/com/android(systemui/statusbar/phone/MeizuCustomizedIcons$1 and locate the loops where the previous id's are. You have to find the id's you have stored, change the main activity of the chinese app and put the activity of the app you want to put related to the icon.
Just this, it is easy to make errors.

I dont know if it is well explained, my english is also bad
 
Last edited:

l1r_svg

New member
May 25, 2015
4
0
thank you for a good and clear instructions

Next, go to /systemui/res/values/public.xml, open it and erase some lines that refers to icons of chinese apps that are not used outside china.
As far as I understand, the number of icons is limited, or I can add millions of them?:laugh:
 

iicc

Senior Member
Apr 10, 2015
370
141
thank you for a good and clear instructions


As far as I understand, the number of icons is limited, or I can add millions of them?:laugh:

Now I only can to do it limited :laugh::laugh:
But I think that It can be made unlimited, at this moment I dont know to do it but It is not a problem now :p
 

iicc

Senior Member
Apr 10, 2015
370
141
Sorry for the delay, I was too busy these days.

Tomorrow I will upload for a new version for the mx4 with lollipop and for m1 note, with more icons and solving some bugs.
 

iicc

Senior Member
Apr 10, 2015
370
141
New! v1.4
-Now is only for Lollipop and MX4
-All code rewrited and modded
-New lollipop installer
-New icons:
PrinterShare
Mensajes
Disa
Inbox
Kakaotalk
 
  • Like
Reactions: punkmonkey1984

kutinho

Member
Oct 4, 2013
25
1
Do you have the original Systemui.apk? Because something went wrong with this installer on 4.2.8.2A...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    MoreFlymeNotifications



    Hello to everybody!

    :D



    You probably know that in Flyme OS, most of non-chinesse notifications appear with a generic notification icon.
    So I have discovered a way to have the notifications separated! Instead of having all of them grouped together in that icon that you dont know what notification are you receiving.



    Here you have some examples:

    te9Q44gl.jpg





    te9Q44gl.jpg

    te9Q44gl.jpg

    9VMhA4gl.jpg



    So, What does this mod?

    This is a SystemUI modification in with I have modified some smali files and I have added the icons inside the apk in order to be Flyme able to recognize the app and put the original notification icons.
    But this method have a bad thing.. all the notification icons have to be added by hand, and also the activities of the apps. So because this is a HUGE work for me to find out all the icons of every app, I ask you for help to submit the icons of the apps that you use and you want to get notified. In this way, the mod will be more complete and I will finish sooner :good:
    (This is explained in post 2º)
    Thanks!




    What devices are supported?

    Currently this mod is only available for Meizu MX4, but I will adapt it to the Meizu M1 Note and Meizu MX4 Pro in a very short time.
    Maybe I will adapt also to the Meizu MX3 if some people request it.
    Stay tuned!




    How can I install this Mod?

    You can install it as a normal system app in system/priv-app replacing the old SystemUI.apk with the correct permisions (0644), erase SystemUI.odex and reboot.
    In case you are in Lollipop, you have to put the SystemUI.apk inside the folder called "SystemUI" replacing the previous apk and with 0644 permisions


    Also I have created an installer ;)

    To install this mod wih my installer you need this:
    -BusyBox
    -Terminal Emulator
    -My mod (SystemUI.apk) and the installer located in the internal memory.




    After you have BusyBox and the terminal emulator downloaded and installed, you have to open the Terminal and write down this and press enter:
    Code:
    su


    A window will appear requesting for root access, select allow.

    Now, write this and hit enter:

    Code:
    sh  /sdcard/NotificationsInstaller



    My installer will be executed and you will see all the secuences of the installation :cowboy:

    7HcknxDl.jpg


    7HcknxDl.jpg



    Changelog:



    All icons included at now:
    amazon App Store
    telegram
    ebay
    tapatalk
    Snapchat
    youtube
    Aliexpress
    SmartWatch
    Vueling
    DI Radio
    Screen Filter
    Spotify
    Flynx.
    9gag
    clash of clans
    imdb
    google play
    soundcloud
    timely
    Wallapop
    Aquamail
    El Tiempo.es
    twitter
    skype
    viber
    instagram
    whatsapp
    facebook
    facebook messenger
    google plus
    gmail
    hangouts
    uc
    PrinterShare
    Mensajes
    Disa
    Inbox
    Kakaotalk







    v1.0
    -Added:
    amazon App Store
    telegram
    ebay
    tapatalk
    Snapchat
    youtube
    Aliexpress
    SmartWatch
    Vueling


    v1.1
    -Added:
    DI RadioScreen Filter
    -Fixed icons size
    -Fixed icons transparency



    v1.2
    -Added:
    Spotify
    Flynx
    9gag
    clash of clans
    imdb
    google play
    soundcloud
    timely
    Wallapop
    Aquamail
    El Tiempo.es



    v1.3
    -Added:
    Pinterest
    PayPal
    HTCMania
    -Fixed previous battery icon
    -M1 Note compatible




    New! v1.4


    -All code rewrited and modded
    -For Meizu M1 Note & MX4 Flyme 4.5
    -New lollipop installer
    -New icons:
    PrinterShare
    Mensajes
    Disa
    Inbox
    Kakaotalk

    Download


    Google Drive directory with all the stuff organizated ;)


    HERE




    Thanks for using my mod!

    :victory: Like for more Flyme Mods :victory:


    2
    Could you please tell how did you that? What I was doing before is to resize the icons of the third party apps manually, one by one.


    Sorry of not answering that before, I was disconnected from all forums some weeks due to studies :(
    I was without PC a couple of last days so, here's the guide (flyme 5 only!):
    SystemUi.apk - com/flyme/systemui/statusbar/phone/FlymeStatusBarIconUtils.smali
    replace the entire method
    Code:
    .method public static isInternalApp(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;)Z
    ....
    .end method
    with
    Code:
    .method public static isInternalApp(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;)Z
        .locals 1
        .param p0, "mContext"    # Landroid/content/Context;
        .param p1, "sbn"    # Landroid/service/notification/StatusBarNotification;
    
         .prologue
         const/4 v0, 0x1
    
         return v0 
    .end method
    and this one:
    Code:
    .method public static isInternalApp(Landroid/content/Context;Ljava/lang/String;)Z
    ....
    .end method
    with this:
    Code:
    .method public static isInternalApp(Landroid/content/Context;Ljava/lang/String;)Z
        .locals 1
        .param p0, "mContext"    # Landroid/content/Context;
        .param p1, "pkg"    # Ljava/lang/String;
    
        .prologue
        const/4 v0, 0x1
    
        return v0 
    .end method

    Next - SystemUI\smali\com\android\systemui\statusbar\StatusBarIconView.smali
    find method getIcon:
    Code:
     .method public static getIcon(Landroid/content/Context;Lcom/android/internal/statusbar/StatusBarIcon;)Landroid/graphics/drawable/Drawable;
    and replace it with this one:
    Code:
    .method public static getIcon(Landroid/content/Context;Lcom/android/internal/statusbar/StatusBarIcon;)Landroid/graphics/drawable/Drawable;
      [B]  .locals 10   #changed from 9 to 10. So, there's new register v9[/B]
        .param p0, "context"    # Landroid/content/Context;
        .param p1, "icon"    # Lcom/android/internal/statusbar/StatusBarIcon;
    
        .prologue
        const/4 v6, 0x0
    
        .line 184
        const/4 v3, 0x0
    
        .line 186
        .local v3, "r":Landroid/content/res/Resources;
        iget-object v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        invoke-static {v5}, Lcom/flyme/systemui/statusbar/phone/MeizuCustomizedIcons;->isMeizuCustomizedIcon(Ljava/lang/String;)Z
    
        move-result v5
    
      [B]  move v9, v5 # Put isMeizuCustomizedIcon value (0 or 1) into new reg v9[/B]
    
        if-eqz v5, :cond_0
    
        .line 187
        iget-object v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        invoke-static {v5}, Lcom/flyme/systemui/statusbar/phone/MeizuCustomizedIcons;->getMeizuCustomizedIcon(Ljava/lang/String;)I
    
        move-result v2
    
        .line 188
        .local v2, "iconId":I
        invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    
        move-result-object v5
    
        invoke-virtual {v5, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
    
        move-result-object v5
    
        .line 219
        .end local v2    # "iconId":I
        :goto_0
    [B]## 4 new lines
        if-nez v9, :cond_skip  # if it's meizucustomized icon we do not have to scale it. Otherwise we do
    
        invoke-static {p0, p1, v5}, Lcom/android/systemui/statusbar/IconScale;->ScaleIfNeeded(Landroid/content/Context;Lcom/android/internal/statusbar/StatusBarIcon;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
    
        move-result-object v5
    
        :cond_skip
    ##[/B]
        return-object v5
    
        .line 191
        :cond_0
        iget-object v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        if-eqz v5, :cond_2
    
        .line 193
        :try_start_0
        iget-object v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->user:Landroid/os/UserHandle;
    
        invoke-virtual {v5}, Landroid/os/UserHandle;->getIdentifier()I
    
        move-result v4
    
        .line 194
        .local v4, "userId":I
        const/4 v5, -0x1
    
        if-ne v4, v5, :cond_1
    
        .line 195
        const/4 v4, 0x0
    
        .line 197
        :cond_1
        invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
    
        move-result-object v5
    
        iget-object v7, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        invoke-virtual {v5, v7, v4}, Landroid/content/pm/PackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
        :try_end_0
        .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
    
        move-result-object v3
    
        .line 207
        .end local v4    # "userId":I
        :goto_1
        iget v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconId:I
    
        if-nez v5, :cond_3
    
        move-object v5, v6
    
        .line 208
        goto :goto_0
    
        .line 199
        :catch_0
        move-exception v1
    
        .line 200
        .local v1, "ex":Landroid/content/pm/PackageManager$NameNotFoundException;
        const-string v5, "StatusBarIconView"
    
        new-instance v7, Ljava/lang/StringBuilder;
    
        invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
    
        const-string v8, "Icon package not found: "
    
        invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v7
    
        iget-object v8, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v7
    
        invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    
        move-result-object v7
    
        invoke-static {v5, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
    
        move-object v5, v6
    
        .line 201
        goto :goto_0
    
        .line 204
        .end local v1    # "ex":Landroid/content/pm/PackageManager$NameNotFoundException;
        :cond_2
        invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    
        move-result-object v3
    
        goto :goto_1
    
        .line 212
        :cond_3
        :try_start_1
        iget v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconId:I
    
        invoke-virtual {v3, v5}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
        :try_end_1
        .catch Ljava/lang/RuntimeException; {:try_start_1 .. :try_end_1} :catch_1
    
        move-result-object v5
    
        goto :goto_0
    
        .line 213
        :catch_1
        move-exception v0
    
        .line 214
        .local v0, "e":Ljava/lang/RuntimeException;
        const-string v7, "StatusBarIconView"
    
        new-instance v5, Ljava/lang/StringBuilder;
    
        invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
    
        const-string v8, "Icon not found in "
    
        invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v8
    
        iget-object v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        if-eqz v5, :cond_4
    
        iget v5, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconId:I
    
        invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
    
        move-result-object v5
    
        :goto_2
        invoke-virtual {v8, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    
        move-result-object v5
    
        const-string v8, ": "
    
        invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v5
    
        iget v8, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconId:I
    
        invoke-static {v8}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
    
        move-result-object v8
    
        invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    
        move-result-object v5
    
        invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    
        move-result-object v5
    
        invoke-static {v7, v5}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
    
        move-object v5, v6
    
        .line 219
        goto :goto_0
    
        .line 214
        :cond_4
        const-string v5, "<system>"
    
        goto :goto_2
    .end method
    I've made some notes # in case you're interested to understand what exactly was changed in method
    and finally add file IconScale.smali to the SystemUI\smali\com\android\systemui\statusbar\ dirrectory
    The file contains following strings:
    Code:
    .class Lcom/android/systemui/statusbar/IconScale;
    .super Ljava/lang/Object;
    .source "IconScale.java"
    
    
    # static fields
    .field public static scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
    
    # direct methods
    .method static constructor <clinit>()V
        .locals 1
    
        .prologue
        .line 13
        const/4 v0, 0x0
    
        sput-object v0, Lcom/android/systemui/statusbar/IconScale;->scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
        return-void
    .end method
    
    .method public constructor <init>()V
        .locals 0
    
        .prologue
        .line 11
        invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
        return-void
    .end method
    
    .method public static ScaleIfNeeded(Landroid/content/Context;Lcom/android/internal/statusbar/StatusBarIcon;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
        .locals 2
        .param p0, "context"    # Landroid/content/Context;
        .param p1, "icon"    # Lcom/android/internal/statusbar/StatusBarIcon;
        .param p2, "dr"    # Landroid/graphics/drawable/Drawable;
    
        .prologue
        .line 18
        const/4 v0, 0x0
    
        .line 20
        .local v0, "pkg":Ljava/lang/String;
    
        iget-object v0, p1, Lcom/android/internal/statusbar/StatusBarIcon;->iconPackage:Ljava/lang/String;
    
        invoke-static {p0, v0}, Lcom/android/systemui/statusbar/IconScale;->isSystemApp(Landroid/content/Context;Ljava/lang/String;)Z
    
        move-result v1
    
        if-nez v1, :cond_0
        
        .line 22
        instance-of v1, p2, Landroid/graphics/drawable/BitmapDrawable;
    
        if-eqz v1, :cond_1
    
        .line 24
        invoke-static {p0, p2}, Lcom/android/systemui/statusbar/IconScale;->scaleIcon(Landroid/content/Context;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/BitmapDrawable;
    
        move-result-object p2
    
        .line 34
        .end local p2    # "dr":Landroid/graphics/drawable/Drawable;
        :cond_0
        :goto_0
        return-object p2
    
        .line 27
        .restart local p2    # "dr":Landroid/graphics/drawable/Drawable;
        :cond_1
        instance-of v1, p2, Landroid/graphics/drawable/AnimationDrawable;
    
        if-eqz v1, :cond_0
    
        .line 29
        check-cast p2, Landroid/graphics/drawable/AnimationDrawable;
    
        .end local p2    # "dr":Landroid/graphics/drawable/Drawable;
        invoke-static {p0, p2}, Lcom/android/systemui/statusbar/IconScale;->scaleAnimation(Landroid/content/Context;Landroid/graphics/drawable/AnimationDrawable;)Landroid/graphics/drawable/AnimationDrawable;
    
        move-result-object p2
    
        goto :goto_0
    .end method
    
    .method public static isException(Ljava/lang/String;)Z
        .locals 1
        .param p0, "pkg"    # Ljava/lang/String;
    
        .prologue
        .line 88
        const-string v0, "com.google.android.apps.gmm"
    
        invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v0
    
        if-nez v0, :cond_0
    
        .line 89
        const-string v0, "com.google.android.googlequicksearchbox"
    
        invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v0
    
        if-nez v0, :cond_0
    
        .line 90
        const-string v0, "com.google.android.gms"
    
        invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v0
    
        if-nez v0, :cond_0
    
        .line 91
        const-string v0, "com.android.vending"
    
        invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v0
    
        if-eqz v0, :cond_1
    
        .line 92
        :cond_0
        const/4 v0, 0x1
    
        .line 93
        :goto_0
        return v0
    
        :cond_1
        const/4 v0, 0x0
    
        goto :goto_0
    .end method
    
    .method public static isSystemApp(Landroid/content/Context;Ljava/lang/String;)Z
        .locals 5
        .param p0, "context"    # Landroid/content/Context;
        .param p1, "pkg"    # Ljava/lang/String;
    
        .prologue
        const/4 v2, 0x0
    
        .line 72
        if-eqz p1, :cond_0
    
        invoke-static {p1}, Lcom/android/systemui/statusbar/IconScale;->isException(Ljava/lang/String;)Z
    
        move-result v3
    
        if-eqz v3, :cond_1
    
        .line 80
        :cond_0
        :goto_0
        return v2
    
        .line 75
        :cond_1
        :try_start_0
        invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
    
        move-result-object v3
    
        const/4 v4, 0x0
    
        invoke-virtual {v3, p1, v4}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
    
        move-result-object v0
    
        .line 76
        .local v0, "appInfo":Landroid/content/pm/ApplicationInfo;
        if-eqz v0, :cond_0
    
        iget v3, v0, Landroid/content/pm/ApplicationInfo;->flags:I
        :try_end_0
        .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
    
        and-int/lit8 v3, v3, 0x1
    
        if-eqz v3, :cond_0
    
        .line 77
        const/4 v2, 0x1
    
        goto :goto_0
    
        .line 78
        .end local v0    # "appInfo":Landroid/content/pm/ApplicationInfo;
        :catch_0
        move-exception v1
    
        .line 79
        .local v1, "e":Landroid/content/pm/PackageManager$NameNotFoundException;
        invoke-virtual {v1}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
    
        goto :goto_0
    .end method
    
    .method public static scaleAnimation(Landroid/content/Context;Landroid/graphics/drawable/AnimationDrawable;)Landroid/graphics/drawable/AnimationDrawable;
        .locals 5
        .param p0, "ctx"    # Landroid/content/Context;
        .param p1, "Aicon"    # Landroid/graphics/drawable/AnimationDrawable;
    
        .prologue
        const/4 v3, 0x0
    
        .line 47
        invoke-virtual {p1, v3}, Landroid/graphics/drawable/AnimationDrawable;->getFrame(I)Landroid/graphics/drawable/Drawable;
    
        move-result-object v0
    
        check-cast v0, Landroid/graphics/drawable/BitmapDrawable;
    
        .line 48
        .local v0, "frame00":Landroid/graphics/drawable/BitmapDrawable;
        invoke-static {p0, v0}, Lcom/android/systemui/statusbar/IconScale;->scaleIcon(Landroid/content/Context;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/BitmapDrawable;
    
        move-result-object v0
    
        .line 49
        new-instance v2, Landroid/graphics/drawable/AnimationDrawable;
    
        invoke-direct {v2}, Landroid/graphics/drawable/AnimationDrawable;-><init>()V
    
        sput-object v2, Lcom/android/systemui/statusbar/IconScale;->scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
        .line 50
        sget-object v2, Lcom/android/systemui/statusbar/IconScale;->scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
        invoke-virtual {v2, v3}, Landroid/graphics/drawable/AnimationDrawable;->setOneShot(Z)V
    
        .line 51
        sget-object v2, Lcom/android/systemui/statusbar/IconScale;->scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
        invoke-virtual {v2, v0, v3}, Landroid/graphics/drawable/AnimationDrawable;->addFrame(Landroid/graphics/drawable/Drawable;I)V
    
        .line 54
        const/4 v1, 0x0
    
        .local v1, "i":I
        :goto_0
        invoke-virtual {p1}, Landroid/graphics/drawable/AnimationDrawable;->getNumberOfFrames()I
    
        move-result v2
    
        add-int/lit8 v2, v2, -0x1
    
        if-le v1, v2, :cond_0
    
        .line 60
        sget-object v2, Lcom/android/systemui/statusbar/IconScale;->scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
        return-object v2
    
        .line 56
        :cond_0
        sget-object v2, Lcom/android/systemui/statusbar/IconScale;->scaled_anim:Landroid/graphics/drawable/AnimationDrawable;
    
        invoke-virtual {p1, v1}, Landroid/graphics/drawable/AnimationDrawable;->getFrame(I)Landroid/graphics/drawable/Drawable;
    
        move-result-object v3
    
        invoke-static {p0, v3}, Lcom/android/systemui/statusbar/IconScale;->scaleIcon(Landroid/content/Context;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/BitmapDrawable;
    
        move-result-object v3
    
        invoke-virtual {p1, v1}, Landroid/graphics/drawable/AnimationDrawable;->getDuration(I)I
    
        move-result v4
    
        invoke-virtual {v2, v3, v4}, Landroid/graphics/drawable/AnimationDrawable;->addFrame(Landroid/graphics/drawable/Drawable;I)V
    
        .line 54
        add-int/lit8 v1, v1, 0x1
    
        goto :goto_0
    .end method
    
    .method public static scaleIcon(Landroid/content/Context;Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/BitmapDrawable;
        .locals 4
        .param p0, "ctx"    # Landroid/content/Context;
        .param p1, "icon"    # Landroid/graphics/drawable/Drawable;
    
        .prologue
        const/16 v3, 0x20
    
        .line 65
        check-cast p1, Landroid/graphics/drawable/BitmapDrawable;
    
        .end local p1    # "icon":Landroid/graphics/drawable/Drawable;
        invoke-virtual {p1}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
    
        move-result-object v1
    
        .line 66
        .local v1, "src":Landroid/graphics/Bitmap;
        const/4 v2, 0x1
    
        invoke-static {v1, v3, v3, v2}, Landroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
    
        move-result-object v0
    
        .line 67
        .local v0, "dest":Landroid/graphics/Bitmap;
        new-instance v2, Landroid/graphics/drawable/BitmapDrawable;
    
        invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    
        move-result-object v3
    
        invoke-direct {v2, v3, v0}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V
    
        return-object v2
    .end method
    where const/16 v3, 0x20 is a size of icons. 20hex = 32 pix
    2
    Will you port this to Meizu M2 Note? It would be great... Great job!

    Starting https://github.com/iicc1/Flyme-extended-notifications

    I will explain how to colaborate in this mod, for one person is impossible ;)
    2
    Mx5 please. Thanks for your job!!!

    Enviado desde mi MX5 mediante Tapatalk
    1
    How can I colaborate adding my own notification icons?

    If you want to add more apps to this mod, you have to extract the notification icon from the apps.
    All the user apps are located in /data/app


    You have to copy and paste the apk to the internal memory to be able to pass the apk to the computer.

    Once you have the apk located in the pc, you have to rigth click and select "open as..". Select open with WinRar or similar

    Now you are inside the apk. Just drag the folde called "res" outside tha apk.

    Inside the res folder, the folders called "drawable-xxhdpi" and "drawable-xhdpi" is where the notification icon is.

    The icon is usually called "notification_icon.png"or something like that. It usually has a size less than 100x100px

    This is the icon I am requesting for, you can upload it in the excell tab (see the end of the post)



    Also It would be nice if you write me the Main Activity of the apps.
    This is very simple, you only have to have xShorcut app installed in your phone.
    In side this app, go to App Shorcut, find the app and copy in the excell tab the text below "Component Package"




    The excell tab is here



    Thanks for supporting this mod :D:D