Guides Android 7 modding with main emphasis on S7edge this time

Search This thread

Dong_RSC

Member
Aug 15, 2016
16
0
7. SystemUI/res/layout/keyguard_servicebox_container.xml
below before
Code:
</LinearLayout>
</com.android.keyguard.servicebox.KeyguardServiceBoxContainer>
add
Code:
<LinearLayout android:gravity="center_horizontal" android:layout_gravity="center_horizontal" android:orientation="horizontal" android:id="@id/weather_widget" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip">
            <mickles.app.mAccuWeatherS7.mWeatherIcon android:gravity="start|center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="2.0dip" />
            <mickles.app.mAccuWeatherS7.mWeatherCurrentTemp android:textSize="35.0dip" android:textColor="#ffffffff" android:gravity="start|center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="1.0dip" android:fontFamily="samsung-neo-num3L" style="@style/keyguard_headline_text_shadow" />
            <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="-1.5dip" android:layout_marginEnd="1.0dip">
                <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.5dip">
                    <mickles.app.mAccuWeatherS7.mWeatherHighTemp android:textSize="15.0dip" android:textColor="#ffffffff" android:gravity="end|center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fontFamily="samsung-neo-num3L" android:layout_marginStart="6.0dip" android:layout_marginEnd="3.0dip" style="@style/keyguard_headline_text_shadow" />
                </LinearLayout>
                <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="2.5dip">
                    <mickles.app.mAccuWeatherS7.mWeatherLowTemp android:textSize="15.0dip" android:textColor="#ffffffff" android:gravity="end|center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:fontFamily="samsung-neo-num3L" android:layout_marginStart="6.0dip" android:layout_marginEnd="3.0dip" style="@style/keyguard_headline_text_shadow" />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
        <LinearLayout android:gravity="center|left" android:layout_gravity="center_horizontal" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip">
            <LinearLayout android:gravity="center|left" android:orientation="horizontal" android:id="@id/sunrise" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <TextView android:textSize="16.0dip" android:textColor="#fff8ecd0" android:gravity="center|left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sunrise " style="@style/keyguard_headline_text_shadow" />
                <mickles.app.mAccuWeatherS7.mWeatherSunRise android:textSize="16.0dip" android:textColor="#ffffffff" android:gravity="center|left" android:tag="HH:mm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip" android:layout_marginStart="6.0dip" style="@style/keyguard_headline_text_shadow" />
                <ImageView android:layout_width="13.0dip" android:layout_height="13.0dip" android:src="@drawable/weather_edge_ic_location_mtrl" android:layout_marginStart="11.0dip" />
                <mickles.app.mAccuWeatherS7.mWeatherLocation android:textSize="16.0dip" android:textColor="#ffffffff" android:gravity="end|center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip" android:layout_marginStart="1.0dip" style="@style/keyguard_headline_text_shadow" />
            </LinearLayout>
            <LinearLayout android:gravity="center|left" android:orientation="horizontal" android:id="@id/sunset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip">
                <TextView android:textSize="16.0dip" android:textColor="#ffe2d7cd" android:gravity="center|left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sunset  " style="@style/keyguard_headline_text_shadow" />
                <mickles.app.mAccuWeatherS7.mWeatherSunSet android:textSize="16.0dip" android:textColor="#ffffffff" android:gravity="center|left" android:tag="HH:mm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip" android:layout_marginStart="6.0dip" style="@style/keyguard_headline_text_shadow" />
                <mickles.app.mAccuWeatherS7.mWeatherText android:textSize="16.0dip" android:textColor="#ffffffff" android:ellipsize="marquee" android:gravity="end|center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1.0dip" android:singleLine="true" android:layout_marginStart="12.0dip" style="@style/keyguard_headline_text_shadow" />
            </LinearLayout>
        </LinearLayout>

9. SystemUI/smali/mickles/app/mAccuWeatherS7/mWeatherIcon.smali
0x7f02075d replace
Code:
<public type="drawable" name="weather_level_analog" id="0x7f02075d" />

I don't understand 2 items 7 and 9.
Please explain for me.
Thank.
 

Dong_RSC

Member
Aug 15, 2016
16
0

Hi all. Help me.
Thank.
 

Attachments

  • How.jpg
    How.jpg
    57.3 KB · Views: 369
Last edited:

bunnys7679

Senior Member
Jun 6, 2014
860
341
Hi guys
It is possible to change the color of the navigation bar of the Galaxy S8 with Rom Control
 

exnokiafan

Senior Member
Aug 29, 2014
356
49
How to unlock after reboot with fingerprint without pin or pattern

decompile SystemUI.apk
Go to smali/com/android/keyguard

open Keyguardupdatemonitor.smali
add blue
Code:
.method private isFingerprintDisabled(I)Z

..................

 :goto_0
 [COLOR="Blue"]const/4 v1, 0x0 [/COLOR]

 return v1

   :cond_0
   invoke-virtual {p0}, Lcom/android/keyguard/KeyguardUpdateMonitor;->isSimPinSecure()Z

   move-result v1

   goto :goto_0
.end method

Code:
.method public isUnlockCompleted()Z

........................................

 move-result v0
[COLOR="blue"]const/4 v0, 0x1 [/COLOR]

    return v0
.end method

Code:
.method public isUnlockWithFingerprintPossible(I)Z

............................................
  :cond_3
  [COLOR="blue"]const/4 v0, 0x1[/COLOR]

    return v1
.end method

Open KeyguardUpdateMonitor$StrongAuthTracker.smali
add blue
Code:
.method public isUnlockingWithFingerprintAllowed()Z
    .locals 2

    .prologue
    const/4 v0, 0x0

    .line 936
    iget-object v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mStrongAuthTracker:Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;

    invoke-virtual {v1}, Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;->isUnlockingWithFingerprintAllowed()Z

    move-result v1
	
	[COLOR="Blue"]const/4 v1, 0x1 [/COLOR]

    if-eqz v1, :cond_0

    .line 937
    sget v1, Lcom/android/keyguard/KeyguardUpdateMonitor;->sCurrentUser:I

    invoke-virtual {p0, v1}, Lcom/android/keyguard/KeyguardUpdateMonitor;->hasFingerprintUnlockTimedOut(I)Z

    move-result v1
	
	if-eqz v1, :cond_1

    .line 936
    :cond_0
    :goto_0
    return v0

    .line 937
    :cond_1
    const/4 v0, 0x1

    goto :goto_0
.end method

recompile

Thx @sanoc69

There are a couple of issues with this on a Galaxy S8 port for the Galaxy S6.

FIRST: this method ".method private isFingerprintDisabled(I)Z" cannot be found inside the mentioned smali file. No problems with the other methods.
SECOND: this method ".method public isUnlockingWithFingerprintAllowed()Z" looks completely different.

Is there any chance to get this super useful feature working?
 

edzamber

Senior Member
Feb 21, 2012
3,916
3,712
There are a couple of issues with this on a Galaxy S8 port for the Galaxy S6.

FIRST: this method ".method private isFingerprintDisabled(I)Z" cannot be found inside the mentioned smali file. No problems with the other methods.
SECOND: this method ".method public isUnlockingWithFingerprintAllowed()Z" looks completely different.

Is there any chance to get this super useful feature working?
Yes,

Try this one

https://xdaforums.com/showthread.php?p=73113586

Maybe need to adapt a little, depend of your smali

Exemple for me, i have adapt on S6 Edge G925F Nougat

Code:
.method public isUnlockingWithBiometricAllowed()Z




    .locals 4 # increase from 2





iget-object v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mContext:Landroid/content/Context;



    invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;



    move-result-object v1



const-string v2, "fingerprint_unlock"



    const/4 v3, 0x1



    invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I



    move-result v1



    if-nez v1, :cond_1 # Match last condition number



const/4 v0, 0x0




iget-object v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mStrongAuthTracker:Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;



    invoke-virtual {v1}, Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;->isUnlockingWithBiometricAllowed()Z



    move-result v1



    if-eqz v1, :cond_0



    iget-boolean v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mDisabledBiometricBySecurityDialog:Z



    if-eqz v1, :cond_1



    :cond_0

    :goto_0

    return v0



    :cond_1 # condition number to match in edits at beginning 

    const/4 v0, 0x1



    goto :goto_0

.end method

RomControl

Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference

                android:defaultValue="true"

                android:key="fingerprint_unlock"

                android:summaryOff="Disabled"

                android:summaryOn="Enabled"

                android:title="Unlocking with fingerprint after boot" />
 
Last edited:

exnokiafan

Senior Member
Aug 29, 2014
356
49
Yes,

Try this one

https://xdaforums.com/showthread.php?p=73113586

Maybe need to adapt a little, depend of your smali

Exemple for me, i have adapt on S6 Edge G925F Nougat

Code:
.method public isUnlockingWithBiometricAllowed()Z




    .locals 4 # increase from 2





iget-object v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mContext:Landroid/content/Context;



    invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;



    move-result-object v1



const-string v2, "fingerprint_unlock"



    const/4 v3, 0x1



    invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I



    move-result v1



    if-nez v1, :cond_1 # Match last condition number



const/4 v0, 0x0




iget-object v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mStrongAuthTracker:Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;



    invoke-virtual {v1}, Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;->isUnlockingWithBiometricAllowed()Z



    move-result v1



    if-eqz v1, :cond_0



    iget-boolean v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mDisabledBiometricBySecurityDialog:Z



    if-eqz v1, :cond_1



    :cond_0

    :goto_0

    return v0



    :cond_1 # condition number to match in edits at beginning 

    const/4 v0, 0x1



    goto :goto_0

.end method

RomControl

Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference

                android:defaultValue="true"

                android:key="fingerprint_unlock"

                android:summaryOff="Disabled"

                android:summaryOn="Enabled"

                android:title="Unlocking with fingerprint after boot" />

Thank you mate! I have sent you a PM so that I won't mess this thread :) ..I'll post the solution once figured it out :)
 

AbrahamGC

Senior Member
Apr 6, 2016
531
3,056
/home
HOW-TO SHOW/HIDE SECONDS IN STATUSBAR WITH/WITHOUT ROMCONTROL

Hi guys after see how to center-clock for no use 3minitclock I was thinking for show seconds, today i finded the way :good:

1st method - For show always, without RC, decompile SystemUI, go to smali\com\android\systemui\statusbar\policy and open Clock.smali

Find
Code:
iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z
and change for
Code:
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

Recompile and done ;)

2nd method - For use with RC toggle :

NOTE : FOR THIS U NEED GearUtils

Decompile SystemUI, go to smali\com\android\systemui\statusbar\policy and open Clock.smali

Search for iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z it looks like this :

Code:
    :cond_0
    iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

    .line 247
    invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/Clock;->updateShowSeconds()V

Replace with :

Code:
	:cond_0
	const/4 v2, 0x1
	
	const-string v3, "show_seconds"
	
	invoke-static {v3, v2}, Lcom/android/wubydax/GearUtils;->getDbIntForKey(Ljava/lang/String;I)I
	
	move-result v3
	
	if-nez v3, :cond_agc1
	
	const/4 v0, 0x0
	
	goto :goto_agc1
	
	:cond_agc1
	const/4 v0, 0x1
	
	:goto_agc1
        iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

        .line 247
        invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/Clock;->updateShowSeconds()V

Look at the start of method and increase .locals by 2

Done with SystemUI, now add this to RomControl :

Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="Show seconds in statusbar" 
     android:key="show_seconds" 
     android:defaultValue="false"
    android:summaryOn="Showed"
    android:summaryOff="Hided" 
    app:packageNameToKill="com.android.systemui" 
    app:isSilent="false"/>

Enjoy :good:

6CA822F5A.png
9BB0C3409.png
 

Mentalmuso

Recognized Developer
Mar 20, 2012
7,632
8,574
Austin
Sony Xperia 1 V
HOW-TO SHOW/HIDE SECONDS IN STATUSBAR WITH/WITHOUT ROMCONTROL

Hi guys after see how to center-clock for no use 3minitclock I was thinking for show seconds, today i finded the way :good:

1st method - For show always, without RC, decompile SystemUI, go to smali\com\android\systemui\statusbar\policy and open Clock.smali

Find
Code:
iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z
and change for
Code:
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

Recompile and done ;)

2nd method - For use with RC toggle :

NOTE : FOR THIS U NEED GearUtils

Decompile SystemUI, go to smali\com\android\systemui\statusbar\policy and open Clock.smali

Search for iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z it looks like this :

Code:
    :cond_0
    iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

    .line 247
    invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/Clock;->updateShowSeconds()V

Replace with :

Code:
:cond_0
const/4 v2, 0x1

const-string v3, "show_seconds"

invoke-static {v3, v2}, Lcom/android/wubydax/GearUtils;->getDbIntForKey(Ljava/lang/String;I)I

move-result v3

if-nez v3, :cond_agc1

const/4 v0, 0x0

goto :goto_agc1

:cond_agc1
const/4 v0, 0x1

:goto_agc1
        iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

        .line 247
        invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/Clock;->updateShowSeconds()V

Look at the start of method and increase .locals by 2

Done with SystemUI, now add this to RomControl :

Code:

Enjoy :good:

6CA822F5A.png
9BB0C3409.png
FYI. Showing seconds can be achieved by typing "settings put secure clock_seconds 1" in a terminal. "settings put secure clock_seconds 0" to disable.

Edit. I simply use rom control to initiate the shell command

Sent from my SM-G955F using Tapatalk
 
Last edited:
  • Like
Reactions: stangdriver44
HOW-TO SHOW/HIDE SECONDS IN STATUSBAR WITH/WITHOUT ROMCONTROL

Hi guys after see how to center-clock for no use 3minitclock I was thinking for show seconds, today i finded the way :good:

1st method - For show always, without RC, decompile SystemUI, go to smali\com\android\systemui\statusbar\policy and open Clock.smali

Find
Code:
iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z
and change for
Code:
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

Recompile and done ;)

2nd method - For use with RC toggle :

NOTE : FOR THIS U NEED GearUtils

Decompile SystemUI, go to smali\com\android\systemui\statusbar\policy and open Clock.smali

Search for iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z it looks like this :

Code:
    :cond_0
    iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

    .line 247
    invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/Clock;->updateShowSeconds()V

Replace with :

Code:
:cond_0
const/4 v2, 0x1

const-string v3, "show_seconds"

invoke-static {v3, v2}, Lcom/android/wubydax/GearUtils;->getDbIntForKey(Ljava/lang/String;I)I

move-result v3

if-nez v3, :cond_agc1

const/4 v0, 0x0

goto :goto_agc1

:cond_agc1
const/4 v0, 0x1

:goto_agc1
        iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/Clock;->mShowSeconds:Z

        .line 247
        invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/Clock;->updateShowSeconds()V

Look at the start of method and increase .locals by 2

Done with SystemUI, now add this to RomControl :

Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="Show seconds in statusbar" 
     android:key="show_seconds" 
     android:defaultValue="false"
    android:summaryOn="Showed"
    android:summaryOff="Hided" 
    app:packageNameToKill="com.android.systemui" 
    app:isSilent="false"/>

Enjoy :good:

6CA822F5A.png
9BB0C3409.png
Thanks! Its work ok!!
2f82a01da8f47a081ebaba1feef9ee95.jpg


Sent from my SM-G935F using Tapatalk
 

edzamber

Senior Member
Feb 21, 2012
3,916
3,712
How to Disable Flag_Secure in Nougat TW Rom

This mod enable Screenshots and Screen Record into Secure apps :)

Credits @edzamber

Special thanks to @fOmey who help me to find in witch jar file looking for :)



Without RomControl (permanent disabled)

Services.jar/smali/com/android/server/wm/WindowManagerService.smali

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z

Replace complete method by this :

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z
    .locals 1

    const/4 v0, 0x0

    
    return v0
.end method


With RomControl to Toogle On/Off

Credits to @mwilky for Toogle Method and credit to @thereassaad for RC2 edits

Thanks brothers :)

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z

Replace complete method by this :

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z
    .locals 4
    .param p1, "w"    # Lcom/android/server/wm/WindowState;

    .prologue
    const/4 v3, 0x1

    const/4 v2, 0x0
    
    iget-object v1, p0, Lcom/android/server/wm/WindowManagerService;->mContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v1

    const-string/jumbo v0, "is_flag_secure_disabled"

    invoke-static {v1, v0, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v3

    .line 2715
    iget-object v0, p1, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;

    iget v0, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    and-int/lit16 v0, v0, 0x2000

    if-eqz v0, :cond_0

    .line 2716
    return v3

    .line 2718
    :cond_0
    iget v0, p1, Lcom/android/server/wm/WindowState;->mOwnerUid:I

    invoke-static {v0}, Landroid/os/UserHandle;->getUserId(I)I

    move-result v0

    invoke-virtual {p0, v0}, Lcom/android/server/wm/WindowManagerService;->isScreenCaptureDisabledLocked(I)Z

    move-result v0

    if-nez v0, :cond_1

    .line 2720
    iget-object v0, p0, Lcom/android/server/wm/WindowManagerService;->mBridge:Lcom/android/server/wm/IWindowManagerServiceBridge;

    iget v1, p1, Lcom/android/server/wm/WindowState;->mOwnerUid:I

    invoke-static {v1}, Landroid/os/UserHandle;->getUserId(I)I

    move-result v1

    invoke-interface {v0, v1}, Lcom/android/server/wm/IWindowManagerServiceBridge;->getScreenCaptureMDMPolicy(I)Z

    move-result v0

    .line 2718
    if-eqz v0, :cond_2

    .line 2722
    :cond_1
    return v3

    .line 2724
    :cond_2
    return v2
.end method

RC2 edits :


Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference 

android:title="hack some restricted security" 

android:key="is_flag_secure_disabled" 

android:defaultValue="1" 

android:summaryOn="Enabled" 

android:summaryOff="Disabled" />


Enjoy :)
 

Attachments

  • tapatalk_1505676856655.jpeg
    tapatalk_1505676856655.jpeg
    41.6 KB · Views: 699

ANDROIDXFOREVER

Senior Member
Mar 8, 2014
1,323
401
sanremo
How to Disable Flag_Secure in Nougat TW Rom

This mod enable Screenshots and Screen Record into Secure apps :)

Credits @edzamber

Special thanks to @fOmey who help me to find in witch jar file looking for :)



Without RomControl (permanent disabled)

Services.jar/smali/com/android/server/wm/WindowManagerService.smali

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z

Replace complete method by this :

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z
    .locals 1

    const/4 v0, 0x0

    
    return v0
.end method


With RomControl to Toogle On/Off

Credits to @mwilky for Toogle Method and credit to @thereassaad for RC2 edits

Thanks brothers :)

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z

Replace complete method by this :

Code:
.method isSecureLocked(Lcom/android/server/wm/WindowState;)Z
    .locals 4
    .param p1, "w"    # Lcom/android/server/wm/WindowState;

    .prologue
    const/4 v3, 0x1

    const/4 v2, 0x0
    
    iget-object v1, p0, Lcom/android/server/wm/WindowManagerService;->mContext:Landroid/content/Context;

    invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v1

    const-string/jumbo v0, "is_flag_secure_disabled"

    invoke-static {v1, v0, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v3

    .line 2715
    iget-object v0, p1, Lcom/android/server/wm/WindowState;->mAttrs:Landroid/view/WindowManager$LayoutParams;

    iget v0, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    and-int/lit16 v0, v0, 0x2000

    if-eqz v0, :cond_0

    .line 2716
    return v3

    .line 2718
    :cond_0
    iget v0, p1, Lcom/android/server/wm/WindowState;->mOwnerUid:I

    invoke-static {v0}, Landroid/os/UserHandle;->getUserId(I)I

    move-result v0

    invoke-virtual {p0, v0}, Lcom/android/server/wm/WindowManagerService;->isScreenCaptureDisabledLocked(I)Z

    move-result v0

    if-nez v0, :cond_1

    .line 2720
    iget-object v0, p0, Lcom/android/server/wm/WindowManagerService;->mBridge:Lcom/android/server/wm/IWindowManagerServiceBridge;

    iget v1, p1, Lcom/android/server/wm/WindowState;->mOwnerUid:I

    invoke-static {v1}, Landroid/os/UserHandle;->getUserId(I)I

    move-result v1

    invoke-interface {v0, v1}, Lcom/android/server/wm/IWindowManagerServiceBridge;->getScreenCaptureMDMPolicy(I)Z

    move-result v0

    .line 2718
    if-eqz v0, :cond_2

    .line 2722
    :cond_1
    return v3

    .line 2724
    :cond_2
    return v2
.end method

RC2 edits :


Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference 

android:title="hack some restricted security" 

android:key="is_flag_secure_disabled" 

android:defaultValue="1" 

android:summaryOn="Enabled" 

android:summaryOff="Disabled" />


Enjoy :)
Great [emoji16] thanks tomorrow i test this guide [emoji4][emoji106]

Inviato dal mio SM-G955F utilizzando Tapatalk
 
  • Like
Reactions: edzamber

parth111999

Senior Member
Oct 25, 2016
1,099
4,428
24
Mumbai
Any Guide For Advanced Reboot Menu Nougat !! There is Some Difference in smalis compare To MM @edzamber
Thank you !!

---------- Post added at 02:25 PM ---------- Previous post was at 02:25 PM ----------

Any Guide For Advanced Reboot Menu Nougat !! There is Some Difference in smalis compare To MM @edzamber
Thank you !!
 

edzamber

Senior Member
Feb 21, 2012
3,916
3,712
I did install just framework res

EDIT: ok i just installed samsung framework res also...still error...
I would also like to mention that i decompiled edited and recompiled a couple of apks previously without any error.(smusic.apk)
Strange because your log say that ressources not found. @ android:style mean ressource in framework-res.apk/res/values/style. So Maybe this SystemUI is from a ported Rom... Then you need same framework-res.apk that was used to compil this SystemUI

What are Firsts lines in androidmanifest ?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 46
    Guides Android 7
    I decided after a long thinking about to open a new thread for modding guides for Android 7 because i see that there are much differences to older Android versions. So we keep up to date to make life easier. I hope all agree with me in that and share like me guides here. If you didnt agree with me keep your mind by yourself please and dont make my life harder ;)

    Thanks




    Framework-res.apk and services.jar
    How to add Reboot Recovery Android 7 Style with toggle

    Services.jar
    Howto remove confirm buttons in Reboot menue for shutoff and reboot
    USB Plug/Unplug disable wake up with toggle in RomControl
    How to hide (Power Menu) Emergency Button with a Toggle
    How to hide (Power Menu) Power Off Button with a Toggle
    How to Disable Signature Check
    Remove Volume Safe Warning with checkbox

    GooglePackageInstaller.apk
    Granting permissions dialog - Ok button always available with window (or alert) overlays

    SamsungCamera6.apk
    Another way of using Camera Flash on low battery

    SystemUI.apk
    Guide - SysScope - Status = Official

    SystemUI.apk
    How to enable Lockscreen rotation with toggle in RomControl V2
    How to unlock after reboot with fingerprint without pin or pattern
    Network traffic indicator in status bar
    GearUtils
    How to open app if click on statusbar clock
    Adaption for 6thGear Data Usage Preferences on the fly without observer and without CSC changes
    Adaption of Gear device info in notification panel
    Adaption of 6htGear Carrier label preferences - as ADDITION to 6thGear device info mod
    How to Make Data Usage Center From Right in Notification Panelwithout RomControl
    How to add virtual lock, recent and home button to statusbar with RomControl
    Add Battery Bar to ROM
    How to make a option to choose between Stock and 3Minit battery
    Volume safe warning to be permanently disabled (at bottom of post)

    SecSettings2.apk
    Activate duration keys lighting in the setting
    How to build 0.25x anmimation scale in developer options

    Different mods
    Nougat compatible -=V6=- 1060 FONTS
    Whitepages /identify unsaved numbers

    25
    Guide - SysScope - Status = Official

    Decompile SysScope.apk

    1.- Edit com/sec/android/app/sysscope/engine/SystemDiagnosisManager.smali

    Look for the line that calls to the method storeresult (inside .method public b()V ) and just above we will force a const 0x1 as calling parameter value (see next code in blue)

    Code:
    ...
    
       move-result-object v4
    
        invoke-static {v1, v4}, Lcom/sec/android/app/sysscope/engine/i;->c(Ljava/lang/String;Ljava/lang/String;)I
    
       [B][COLOR="#0000FF"] const v0, 0x1[/COLOR][/B]
    
        invoke-virtual {p0, v0}, Lcom/sec/android/app/sysscope/engine/SystemDiagnosisManager;->storeResult(I)I
    
        move-result v1
    
    ....


    2.- Edit com/sec/android/app/sysscope/job/KernelStatusChecker.smali

    Replace the following method

    Code:
    .method private b(Ljava/lang/String;)Z
        .locals 2
    
        const/4 v0, 0x1
    
        return v0
    .end method


    3.- Edit com/sec/android/app/sysscope/job/RootProcessScanner.smali

    Replace

    Code:
    .method public native checkIsApprivedProcess(Ljava/lang/String;)I
    .end method


    by

    Code:
    .method public checkIsApprivedProcess(Ljava/lang/String;)I
        .locals 2
    
        const v0, 0x1
    
        return v0
    .end method


    4.- Edit com/sec/android/app/sysscope/service/SysScopeResultInfo.smali

    - Replace this method

    Code:
    .method public a()I
        .locals 2
    
        const v0, 0x1
    
        return v0
    .end method

    - Look for the following strings,

    Code:
    Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    and delete the lines containing them. There are two: in .method public a(Landroid/os/Parcel;)V and in .method public a(Lcom/sec/android/app/sysscope/service/g;)V

    Thats all.


    NOTE:

    I leave in the attached file the original and modified code, as well as the original and modified apks (modified apk keeps the original signature).
    If you are having problems with resulting apk, please follow these steps:

    - Decompile your deodexed SysScope.apk and implement this guide (this is for last beta, i will update just if it is necessary with oficcial releases).
    - Compile the apk
    - Configure winrar to use no compression
    - Open the original apk and the compiled one with winrar
    - move classes.dex from compiled to the original apk.
    - Flash this modified original apk containing the new classes.dex

    5e030d312e8c6b953d2142aa3d404308.jpg
    16
    Guide how add more Button Grid in SystemUI for Nougat

    Decompile SystemUI
    After go to strings.xml (res/value/strings.xml)
    delete this:
    Code:
        <string name="qs_screen_grid_3_2">3X2</string>
        <string name="qs_screen_grid_4_2">4X2</string>
        <string name="qs_screen_grid_5_2">5X2</string>

    Now add this:
    Code:
    Add this :
        <string name="qs_screen_grid_3_4">3X4</string>
        <string name="qs_screen_grid_4_4">4X4</string>
        <string name="qs_screen_grid_5_4">5X4</string>
        <string name="qs_screen_grid_3_5">3X5</string>
        <string name="qs_screen_grid_4_5">4X5</string>
        <string name="qs_screen_grid_5_5">5X5</string>

    go to ids.xml (res/value/ids.xml)
    Add this:
    Code:
        <item type="id" name="gid_save_position">false</item>

    go to public.xml (res/value/public.xml) and removed this one:
    Code:
    qs_screen_grid_3_2
    qs_screen_grid_4_2
    qs_screen_grid_5_2

    Download files and merge (if you have some files replace one)

    Now Compile and enjoy
    thx to @josete_1976 for files for grid mod
    15
    How to add Reboot Recovery to power menu with toggle

    Credits goes to @sagitt67 and @daxgirl .
    Credits for toggle goes to @tdunham

    Now after some fc and logcats of old guides i finished sucessfull the mod and share what i have done

    We work in framework-res.apk and services.jar

    Framework-res.apk

    Download framework.zip
    Paste files in same folders of decompiles freamework-res.apk
    now open res/values/arrays.xml
    find <string-array name="config_globalActionsList"> and add blue
    Code:
    <string-array name="config_globalActionsList">
            <item>power</item>
            <item>datamode</item>
            <item>airplane</item>
            <item>restart</item>
            <item>lockdown</item>
            <item>bugreport</item>
            <item>users</item>
            [COLOR="Blue"]<item>rebootrecovery</item>[/COLOR]
            <item>emergencymode</item>
            <item>subscreen</item>
            <item>screenrec</item>
        </string-array>

    now go to res/values/strings.xml and add blue

    Code:
        <string name="charging_connected_via_usb">Charging connected device via USB...</string>
        <string name="config_tspstate_threshold">10,32,768,10,60</string>
        [COLOR="Blue"]<string name="tw_ic_do_rebootrecovery">Reboot Recovery</string>[/COLOR]
    </resources>

    done with framework-res.apk
    recompile and push to phone

    Services.jar

    download services.zip and paste files in same folders of decompiles services.jar
    open smali/com/android/server/policy/GlobalActions.smali
    add blue line in # instance fields
    Code:
    .field mEmergencyStringId:I
    
    [COLOR="Blue"].field private mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;[/COLOR]
    
    .field private mGlobalActionsFrameLayout:Landroid/app/GlobalActionsFrameLayout

    find .method private createDialog()Lcom/android/server/policy/GlobalActions$GlobalActionsDialog;
    add blue
    Code:
    if-eqz v4, :cond_8
    
        const v4, 0x10809f4
    
        :goto_4
        const v6, 0x10406e2
    
        move-object/from16 v0, p0
    
        invoke-direct {v5, v0, v4, v6}, Lcom/android/server/policy/GlobalActions$20;-><init>(Lcom/android/server/policy/GlobalActions;II)V
    
        move-object/from16 v0, p0
    
        iput-object v5, v0, Lcom/android/server/policy/GlobalActions;->mRestart:Lcom/android/server/policy/GlobalActions$SinglePressAction;
    	
        [COLOR="blue"]new-instance v4, Lcom/android/server/policy/GlobalActions$47;
    
        move-object/from16 v0, p0
    
        iget-object v0, v0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
    
        invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    
        move-result-object v0
    
        const-string v1, "tw_ic_do_rebootrecovery" 
    
        const-string v2, "drawable" 
    
        const-string v3, "android"
    
        invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    
        move-result v5 
    
        move-object/from16 v0, p0
    
        iget-object v0, v0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
    
        invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    
        move-result-object v0
    
        const-string v1, "tw_ic_do_rebootrecovery"
    
        const-string v2, "string"
    
        const-string v3, "android"
    
        invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    
        move-result v6
    
        move-object/from16 v0, p0
    
        invoke-direct {v4, v0, v5, v6}, Lcom/android/server/policy/GlobalActions$47;-><init>(Lcom/android/server/policy/GlobalActions;II)V
    
        move-object/from16 v0, p0
    
        iput-object v4, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;[/COLOR] 
    
        invoke-static {}, Lcom/samsung/android/feature/SemCscFeature;->getInstance()Lcom/samsung/android/feature/SemCscFeature;
    
        move-result-object v4
    
        const-string/jumbo v5, "CscFeature_Common_ConfigBikeMode"

    Now next part is tricky, add lines in blue and changes in green

    Code:
    const/16 v6, 0x80
    
        const/4 v7, 0x1
    
        move-object/from16 v0, p0
    
        invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z
    
        new-instance v4, Lcom/android/server/policy/GlobalActions$BugReportAction;
    
        move-object/from16 v0, p0
    
        invoke-direct {v4, v0}, Lcom/android/server/policy/GlobalActions$BugReportAction;-><init>(Lcom/android/server/policy/GlobalActions;)V
    
        move-object/from16 v0, p0
    
        iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
    	
    	[COLOR="Blue"]const/16 v6, 0x100
    
        move-object/from16 v0, p0
    
        iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;
    
        move-object/from16 v0, p0
    
        iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
    
        const/4 v7, 0x1
    
        move-object/from16 v0, p0
    
        invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z [/COLOR]
    
        const/16 v6, 0x200 [COLOR="Magenta"]#before was 0x100[/COLOR]
    
        const/4 v7, 0x1
    
        move-object/from16 v0, p0
    
        invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z

    now search for const-string/jumbo v4, "silent" and add blue line above it and delete red ones
    green parts must match yellow part
    Code:
    const-string/jumbo v4, "emergencymode"
    
        invoke-virtual {v4, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v4
    
        if-eqz v4, :cond_15
    
        move-object/from16 v0, p0
    
        iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
    
        move-object/from16 v0, p0
    
        iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mEmergency:Lcom/android/server/policy/GlobalActions$ToggleAction;
    
        invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    
        goto/16 :[COLOR="Yellow"]goto_7[/COLOR]   #look that green part match this
    
        :cond_15
        [COLOR="Blue"]const-string/jumbo v4, "rebootrecovery"
    
        invoke-virtual {v4, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    
        move-result v4
    
        if-eqz v4, :cond_asc1
    
        move-object/from16 v0, p0
    
        iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
    
        move-object/from16 v0, p0
    
        iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;
    
        invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    
        goto/16 :[COLOR="Green"]goto_7 [/COLOR]
    
        :cond_asc1[/COLOR]
        const-string/jumbo v4, "silent"

    next part is missing in Android 7 services.jar so we need to readd it for mod
    find .method private addCustomDialogItems(Landroid/graphics/drawable/BitmapDrawable;Ljava/lang/String;Landroid/content/Intent;ILjava/util/ArrayList;)Z

    add this above method

    Code:
    .method static synthetic access$500(Lcom/android/server/policy/GlobalActions;)Landroid/content/Context;
        .locals 1
    
        iget-object v0, p0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
    
        return-object v0
    .end method

    thats it, recompile and push to phone

    Note: For me one time i get after reboot a loop of phone restarts, only one time happens. If it happen i solved it with wipe dalvik-cache and cache

    RomControl V2
    Code:
    <com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="Reboot Recovery Button" android:key="reboot_recovery" android:defaultValue="false" android:summaryOn="Reboot Recovery will be shown" android:summaryOff="Currently removed" />
    13
    Guide - Another way of using Camera Flash on low battery.

    On S7 Edge Nougat the low battery level is defined in framework-res -> values - > integers.xml -> config_lowBatteryWarningLevel . With a battery level lower than the value defined here, the camera doesn´t allow the use of flash light.

    With this little mod, flash light will be available always.

    - Decompile SamsungCamera6.apk

    - Edit com/sec/android/app/camera/Camera.smali

    - Find .method protected onCreate(Landroid/os/Bundle;)V and look for the string "config_lowBatteryWarningLevel" ...

    - Add the line in blue.

    Code:
    ...
       const-string v21, [B]"config_lowBatteryWarningLevel"[/B]
    
        const-string v22, "integer"
    
        const-string v23, "android"
    
        invoke-virtual/range {v20 .. v23}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    
        move-result v20
    
        invoke-virtual/range {v19 .. v20}, Landroid/content/res/Resources;->getInteger(I)I
    
        move-result v19
    
        move/from16 v0, v19
    
        move-object/from16 v1, p0
    	
    	[COLOR="blue"][B]const v0, 0x0[/B][/COLOR] # 0 = flash always available, 0x5 = Flash available while the battery level is greater than 5% ... select your desired value...or make a custom prefernce and read here its value (camara app should be restarted or .. .)
    
        iput v0, v1, Lcom/sec/android/app/camera/Camera;->[B]mLowBatteryWarningLevel:I[/B]
    
    ...

    Done.