Thursday, March 27, 2014

[TUT][APK MULTITOOL] Decompile/Compile APK & JAR

================================================================================================ 
SETTING UP APK MULTITOOL
================================================================================================
Requirements

  1. Extract APK-Multi-Tool folder from zip and open it
  2. Place framework-res.apk to other folder
  3. Run Setup.bat
  4. Type 2 & Enter
  5. Type 1 & Enter to start installing framework. Press any key to continue
  6. Type 6 & Enter to return to main menu
  7. Type 3 & Enter to setup directories
  8. Setup Complete!

Wednesday, March 26, 2014

[PORT][GUIDE][JB] Xperia Z Lockscreen

Requirements

Procedure 
  1. Decompile android.policy.jar [guide on how to decompile jar files]
  2. Go to \com\android\internal\policy\impl and open LockPatternKeyguardView.smali
  3. Find
  4. .field mInfoCallback:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor$InfoCallbackImpl;
    
  5. Add this below
  6. .field private mIsExternallyLoadedLockScreenEnabled:Z
    
  7. Find
  8. # virtual methods
    
  9. Add the BLUE CODES and replace values for GREEN CODES 
  10. # virtual methods
    .method public cleanUp()V
        .registers 3
    
        .prologue
        const/4 v1, 0x0
    
        const/4 v0, 0x0
    
        iput-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
    
        .line 808
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
    
        if-eqz v0, :cond_1d
    
        .line 809
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
    
        check-cast v0, Lcom/android/internal/policy/impl/KeyguardScreen;
    
        invoke-interface {v0}, Lcom/android/internal/policy/impl/KeyguardScreen;->onPause()V
    
        .line 810
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
    
        check-cast v0, Lcom/android/internal/policy/impl/KeyguardScreen;
    
        invoke-interface {v0}, Lcom/android/internal/policy/impl/KeyguardScreen;->cleanUp()V
    
        .line 811
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
    
        invoke-virtual {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->removeView(Landroid/view/View;)V
    
        .line 812
        iput-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
    
        .line 814
        :cond_1d
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUnlockScreen:Landroid/view/View;
    
        if-eqz v0, :cond_36
    
        .line 815
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUnlockScreen:Landroid/view/View;
    
        check-cast v0, Lcom/android/internal/policy/impl/KeyguardScreen;
    
        invoke-interface {v0}, Lcom/android/internal/policy/impl/KeyguardScreen;->onPause()V
    
        .line 816
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUnlockScreen:Landroid/view/View;
    
        check-cast v0, Lcom/android/internal/policy/impl/KeyguardScreen;
    
        invoke-interface {v0}, Lcom/android/internal/policy/impl/KeyguardScreen;->cleanUp()V
    
        .line 817
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUnlockScreen:Landroid/view/View;
    
        invoke-virtual {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->removeView(Landroid/view/View;)V
    
        .line 818
        iput-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUnlockScreen:Landroid/view/View;
    
        .line 820
        :cond_36
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
    
        invoke-virtual {v0, p0}, Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;->removeCallback(Ljava/lang/Object;)V
    
        .line 821
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mBiometricUnlock:Lcom/android/internal/policy/impl/BiometricSensorUnlock;
    
        if-eqz v0, :cond_44
    
        .line 822
        iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mBiometricUnlock:Lcom/android/internal/policy/impl/BiometricSensorUnlock;
    
        invoke-interface {v0}, Lcom/android/internal/policy/impl/BiometricSensorUnlock;->cleanUp()V
    
        .line 824
        :cond_44
        return-void
    .end method
    
  11. Find
  12. .method createLockScreen()Landroid/view/View;
    
  13. Add the BLUE CODES delete RED CODES and replace values for GREEN CODES
  14. .method createLockScreen()Landroid/view/View;
        .registers 8
    
        .prologue
        iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
    
        iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
    
        invoke-static {v1, v2}, Lcom/android/internal/policy/impl/ExternalLockScreen;->getLockScreen(Landroid/content/Context;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)Landroid/view/View;
    
        move-result-object v0
    
        .local v0, lockView:Landroid/view/View;
        if-eqz v0, :cond_34
    
        const/4 v1, 0x1
    
        :goto_b
        iput-boolean v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
    
        .line 1038
        iget-boolean v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
    
        if-nez v1, :cond_30
    
        .line 918
        const-string v1, "ro.ty.lockscreen"
    
        const-string v2, "false"
    
        invoke-static {v1, v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    
        move-result-object v6
    
        .line 922
        .local v6, ty_lockscreen_support:Ljava/lang/String;
        const-string v1, "true"
    
        invoke-virtual {v1, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v1
    
        if-eqz v1, :cond_36
    
        .line 923
        new-instance v0, Lcom/android/internal/policy/impl/TYLockScreen;
    
        .end local v0           #lockView:Landroid/view/View;
        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/TYLockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
    
        .line 937
        .local v0, lockView:Landroid/view/View;
        :goto_1f
        .restart local v0       #lockView:Landroid/view/View;
        :cond_30
        :goto_30
        invoke-virtual {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->initializeTransportControlView(Landroid/view/View;)V
    
        .line 938
        return-object v0
    
        :cond_34
        const/4 v1, 0x0
    
        goto :goto_b
    
        .line 930
        .end local v0           #lockView:Landroid/view/View;
        :cond_36
        new-instance v0, Lcom/android/internal/policy/impl/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/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/KeyguardScreenCallback;)V
    
        .restart local v0       #lockView:Landroid/view/View;
        goto :goto_30
    .end method
    
  15. Save & Compile. DO NOT PUSH IT YET!
  16. Download & Flash XperiaZ_Lockscreen.zip
  17. Push your new android.policy.jar to /system/framework

Tuesday, March 25, 2014

[GUIDE] Transparent Statusbar

Requirements
Procedure

Adding Transparency Support to statusbar
  1. Decompile android.policy.jar [guide on how to decompile jar files]
  2. Go to \com\android\internal\policy\impl\PhoneWindowManager.smali
  3. Find this method

  4. .method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
    
  5. Delete Red Code

  6. .method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
        .registers 3
        .parameter "systemRect"
    
        .prologue
        .line 3057
        iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I
    
        iput v0, p1, Landroid/graphics/Rect;->left:I
    
        .line 3058
        iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
    
        iput v0, p1, Landroid/graphics/Rect;->top:I
    
        .line 3059
        iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
    
        iput v0, p1, Landroid/graphics/Rect;->right:I
    
        .line 3060
        iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
    
        iput v0, p1, Landroid/graphics/Rect;->bottom:I
    
        .line 3061
        iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
    
        if-eqz v0, :cond_1b
    
        iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
    
        invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
    
        move-result v0
    
        .line 3063
        :goto_1a
        return v0
    
        .line 3062
        :cond_1b
        iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
    
        if-eqz v0, :cond_26
    
        iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
    
        invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
    
        move-result v0
    
        goto :goto_1a
    
        .line 3063
        :cond_26
        const/4 v0, 0x0
    
        goto :goto_1a
    .end method
    
  7. Add Blue Code

  8.      const/4 v0, 0x0
         return v0
    .end method
    
  9. Save & Compile

Monday, March 17, 2014

Rooting CM Flare



Flash file via recovery

or

use
Just run the app and install root

Download: Latest Google Play Store 4.6.16 / 4.6.17 With Batch App Install, New 'Require Password' Option, Tweaked UI, Forced Self-Update, And More [Updated]

Google Playstore Info:
http://www.androidpolice.com/2014/03/13/download-latest-google-play-store-4-6-16-with-new-require-password-option-tweaked-ui-forced-self-update-and-more/

Download com.android.vending-4.6.16.apk

[JB&ICS] Unlocker for Pattern | Password | Face Unlock

Note: For Jelly Bean (JB) TWRP Users:


-If flashing does not work, do this first before flashing the zip file.
Boot to TWRP > Mount > System

-If the zip file is on Internal SDCARD
Boot to TWRP > Mount > SDCARD1

========================


INFO:
Sometimes someone plays with your phone and your Password, Pattern lock or you lost your Face este Face Unlocking was set accidentally. This is a work around to unlock your phone without doing a factory reset or to flash a new ROM daw. Since sometimes custom ROMs have a built-in data format which resets the lock to default.

This is also usefull when you don't have an ADB available to do the commands or you just don't know how to install and do it.

PLEASE BE REMINDED THAT THIS CAN HELP COMPROMISED YOUR PHONE, MEANING ANYONE CAN ACCESS YOUR BELOVED FLARE WITHOUT THE USE OF A COMPUTER IF THEY HAVE IT ON A SDCARD. THEY CAN EASILY ACCESS YOUR PHONES BELOVED DATA, MMS, PICTURES, VIDEOS, SCANDALS(LOL), CONTACTS,ETC.. SO I ADVISE TO NOT LET THIS FILE STAY ON YOUR PHONE. WELL IF YOU DON'T USE PASSWORDS, YOU DON'T NEED THIS.


Pattern-Password-Face_Unlocker
 Flashable Zip [Download]


===================
===================
Instructions for FLARE
===================

1. Download the Flashable Zip file and place it on your SDCARD or on your INTERNAL SDCARD.
2. Reboot your device to recovery mode.
 - Turn off device
 - Power Device by pressing POWER Button while holding VOLUME UP.
 - Wait till the screen turns GREEN and then RED.
 - Once on RED screen, release both buttons.

3. Once on the ANDROID SYSTEM RECOVERY
 - Use VOLUME KEY to navigate.
 - Use POWER KEY to select.

4. Select
 - "apply update from external storage", if you copy the flashable zip on your SDCARD.
 - "apply update from internal storage", if you copy the flashable zip on your Internal SDCARD.

5. Navigate to the folder where you place the Flashable Zip and select it.
6. Once the flashing starts, wait for it to finish and then reboot your device.

Note: If you are flashing multiple flashable zip, after every flash reboot your device or the flashing will have problems.




Credits:
XDA
Carolyn Olbes

Link to Original Thread/Post: [Click Here]