Skip to content

Commit

Permalink
[Fix] Align signals to left invalid issue before MIUI10 9.5.7
Browse files Browse the repository at this point in the history
  • Loading branch information
tianma8023 committed May 27, 2019
1 parent 0bbd16d commit 5f4a190
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

public class MiuiVersion {

public final static MiuiVersion VERSION_19_5_7 = new MiuiVersion("19.5.7");
public final static MiuiVersion V_19_5_7 = new MiuiVersion("19.5.7");

private static final String DATE_FORMAT = "yy.M.d";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
package com.tianma.tweaks.miui.xp.hook;

import com.tianma.tweaks.miui.utils.rom.MiuiVersion;

import de.robv.android.xposed.XSharedPreferences;

public abstract class BaseSubHook {

protected ClassLoader mClassLoader;
protected XSharedPreferences xsp;
protected MiuiVersion mMiuiVersion;

public BaseSubHook(ClassLoader classLoader, XSharedPreferences xsp) {
this(classLoader, xsp, null);
}

public BaseSubHook(ClassLoader classLoader, XSharedPreferences xsp, MiuiVersion miuiVersion) {
mClassLoader = classLoader;
this.xsp = xsp;
mMiuiVersion = miuiVersion;
}

public abstract void startHook();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public void onLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwa
return;
}
MiuiVersion miuiVersion = MiuiUtils.getMiuiVersion();
if (miuiVersion.getTime() >= MiuiVersion.VERSION_19_5_7.getTime()) {
if (miuiVersion.getTime() >= MiuiVersion.V_19_5_7.getTime()) {
new MiuiKeyguardVerticalClockHook(classLoader, xsp).startHook();
new MiuiKeyguardLeftTopClockHook(classLoader, xsp).startHook();
new ChooseKeyguardClockActivityHook(classLoader, xsp).startHook();
Expand All @@ -50,7 +50,7 @@ public void onLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwa
new StatusBarClockHook(classLoader, xsp).startHook();
new KeyguardClockContainerHook(classLoader, xsp).startHook();

new CollapsedStatusBarFragmentHook(classLoader, xsp).startHook();
new CollapsedStatusBarFragmentHook(classLoader, xsp, miuiVersion).startHook();
new SignalClusterViewHook(classLoader, xsp).startHook();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import com.tianma.tweaks.miui.utils.XLog;
import com.tianma.tweaks.miui.utils.XSPUtils;
import com.tianma.tweaks.miui.utils.rom.MiuiVersion;
import com.tianma.tweaks.miui.xp.hook.BaseSubHook;
import com.tianma.tweaks.miui.xp.hook.systemui.helper.ResHelpers;

Expand All @@ -21,8 +22,8 @@ public class CollapsedStatusBarFragmentHook extends BaseSubHook {
private boolean mSignalAlignLeft;
private boolean mAlwaysShowStatusBarClock;

public CollapsedStatusBarFragmentHook(ClassLoader classLoader, XSharedPreferences xsp) {
super(classLoader, xsp);
public CollapsedStatusBarFragmentHook(ClassLoader classLoader, XSharedPreferences xsp, MiuiVersion miuiVersion) {
super(classLoader, xsp, miuiVersion);

mSignalAlignLeft = XSPUtils.isSignalAlignLeft(xsp);
mAlwaysShowStatusBarClock = XSPUtils.alwaysShowStatusBarClock(xsp);
Expand Down Expand Up @@ -58,13 +59,19 @@ protected void afterHookedMethod(MethodHookParam param) throws Throwable {
ViewGroup phoneStatusBarView = (ViewGroup) XposedHelpers.getObjectField(param.thisObject, "mStatusBar");
Resources res = phoneStatusBarView.getResources();

View signalClusterView = phoneStatusBarView
.findViewById(ResHelpers.getId(res, "signal_cluster"));
((ViewGroup) signalClusterView.getParent()).removeView(signalClusterView);
View signalClusterViewContainer = phoneStatusBarView
.findViewById(ResHelpers.getId(res, "signal_cluster_view"));
((ViewGroup) signalClusterViewContainer.getParent()).removeView(signalClusterViewContainer);

ViewGroup contentsContainer = phoneStatusBarView
.findViewById(ResHelpers.getId(res, "phone_status_bar_contents_container"));
contentsContainer.addView(signalClusterView, 0);
if (mMiuiVersion.getTime() >= MiuiVersion.V_19_5_7.getTime()) {
ViewGroup contentsContainer = phoneStatusBarView
.findViewById(ResHelpers.getId(res, "phone_status_bar_contents_container"));
contentsContainer.addView(signalClusterViewContainer, 0);
} else {
ViewGroup statusBarContents = phoneStatusBarView
.findViewById(ResHelpers.getId(res, "status_bar_contents"));
statusBarContents.addView(signalClusterViewContainer, 0);
}
} catch (Throwable t) {
XLog.e("", t);
}
Expand Down

0 comments on commit 5f4a190

Please sign in to comment.