[Android General] Grouxho:
I thought you were annoying for trying to say another way of doing same bro... nothing else.

Well, i have switched on the pc and done what i tried to say: let´s optimize the code, let´x make the blur mod and switch compatible with good lock - > quick start. If coloring in plugin is enabled we do not do anything because we will suppose that the user wants to control the effect with the plugin and not the mod.

So, this is the code just checked. Look for ## to see changes. If plugin is not enabled we call the blur mod method. Inside the method we check for switch. If it is off we do not do anything, if on, we apply If i am not wrong with themes, plugin will return false meaning that plugin coloring should be not applied. So, i think this is compatible with all situations, but may be not... that is the funny part of modding, he he

.method private apply(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V
.locals 4

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyKeyguardFlags(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyForceStatusBarVisibleFlag(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyFocusableFlag(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->adjustScreenOrientation(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyHeight(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyUserActivityTimeout(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyInputFeatures(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyFitsSystemWindows(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyModalFlag(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyBrightness(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyHasTopUi(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

const-class v1, Lcom/android/systemui/coloring/QSColoringServiceManager;

invoke-static {v1}, Lcom/android/systemui/Dependency;->get(Ljava/lang/Class;)Ljava/lang/Object;

move-result-object v1

check-cast v1, Lcom/android/systemui/coloring/QSColoringServiceManager;

invoke-virtual {v1}, Lcom/android/systemui/coloring/QSColoringServiceManager;->isQSColoringEnabled()Z

move-result v1

if-eqz v1, :cond_0ababab ### change this

const-class v1, Lcom/android/systemui/coloring/QSColoringServiceManager;

invoke-static {v1}, Lcom/android/systemui/Dependency;->get(Ljava/lang/Class;)Ljava/lang/Object;

move-result-object v1

check-cast v1, Lcom/android/systemui/coloring/QSColoringServiceManager;

invoke-virtual {v1}, Lcom/android/systemui/coloring/QSColoringServiceManager;->isQSColoringBlurEffectEnabled()Z

move-result v1

if-eqz v1, :cond_0

invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyQSColoringBlurEffect()V

:cond_0

:goto_go ### add this

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyCoverFlags(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLp:Landroid/view/WindowManager$LayoutParams;

iget-object v2, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLpChanged:Landroid/view/WindowManager$LayoutParams;

invoke-virtual {v1, v2}, Landroid/view/WindowManager$LayoutParams;->copyFrom(Landroid/view/WindowManager$LayoutParams;)I

move-result v1

if-eqz v1, :cond_1

iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mWindowManager:Landroid/view/WindowManager;

iget-object v2, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mStatusBarView:Landroid/view/View;

iget-object v3, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLp:Landroid/view/WindowManager$LayoutParams;

invoke-interface {v1, v2, v3}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

:cond_1
iget-boolean v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mHasTopUi:Z

iget-boolean v2, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mHasTopUiChanged:Z

if-eq v1, v2, :cond_2

:try_start_0
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mActivityManager:Landroid/app/IActivityManager;

iget-boolean v2, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mHasTopUiChanged:Z

invoke-interface {v1, v2}, Landroid/app/IActivityManager;->setHasTopUi(Z)V
:try_end_0
.catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_0} :catch_0

:goto_0
iget-boolean v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mHasTopUiChanged:Z

iput-boolean v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mHasTopUi:Z

:cond_2
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mContext:Landroid/content/Context;

invoke-static {v1}, Lcom/android/keyguard/KeyguardUpdateMonitor;->getInstance(Landroid/content/Context;)Lcom/android/keyguard/KeyguardUpdateMonitor;

move-result-object v1

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

move-result v1

if-eqz v1, :cond_4

:cond_3
:goto_1
return-void

:catch_0
move-exception v0

const-string/jumbo v1, "StatusBarWindowManager"

const-string/jumbo v2, "Failed to call setHasTopUi"

invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

goto :goto_0

:cond_4
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mBouncerContainer:Landroid/widget/FrameLayout;

if-eqz v1, :cond_3

invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->applyBouncer(Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;)V

goto :goto_1

### add this block

:cond_0ababab

invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->grx_applyQSColoringBlurEffect()V

goto: goto_go

#####

.end method

and we will use this new method for blurring, but only if siwtch is on. I have added the code inside to read the switch, no need of other stuff.

.method public grx_applyQSColoringBlurEffect()V
.locals 5

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mContext:Landroid/content/Context;

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

move-result-object v0

const-string v1, "b_ga_panel_blur_enabled"

const v2, 0x0

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

move-result v2

const v1, 0x0

if-eq v2, v1, :cond_exit

const-string v1, "b_ga_panel_blur"

const v2, 0xa

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

move-result v0

int-to-float v0, v0

const v2, 0x64

int-to-float v2, v2

div-float v4, v0, v2

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mCurrentState:Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;

iget-boolean v0, v0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;->keyguardShowing:Z

if-eqz v0, :cond_0

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mCurrentState:Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;

iget-boolean v0, v0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;->qsExpanded:Z

if-nez v0, :cond_1

:cond_0
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mCurrentState:Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;

iget-boolean v0, v0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;->keyguardShowing:Z

if-nez v0, :cond_2

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mCurrentState:Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;

iget-boolean v0, v0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager$State;->panelExpanded:Z

if-eqz v0, :cond_2

:cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLpChanged:Landroid/view/WindowManager$LayoutParams;

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

or-int/lit8 v1, v1, 0x2

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

iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLpChanged:Landroid/view/WindowManager$LayoutParams;

iput v4, v1, Landroid/view/WindowManager$LayoutParams;->dimAmount:F

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLpChanged:Landroid/view/WindowManager$LayoutParams;

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

or-int/lit8 v1, v1, 0x40

iput v1, v0, Landroid/view/WindowManager$LayoutParams;->samsungFlags:I

:goto_0
:cond_exit
return-void

:cond_2
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLpChanged:Landroid/view/WindowManager$LayoutParams;

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

and-int/lit8 v1, v1, -0x3

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

iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarWindowManager;->mLpChanged:Landroid/view/WindowManager$LayoutParams;

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

and-int/lit8 v1, v1, -0x41

iput v1, v0, Landroid/view/WindowManager$LayoutParams;->samsungFlags:I

goto :goto_0
.end method

same switch name (b_ga_panel_blur_enabled) default value false title Enable Blur or whatever...

Of course many thanks to wlryss for the advice