You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CustoMIUIzer/app/src/main/java/name/mikanoshi/customiuizer/MainModule.java

467 lines
32 KiB
Java

package name.mikanoshi.customiuizer;
import android.app.Application;
import android.content.Context;
import java.io.File;
import java.util.Map;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.IXposedHookZygoteInit;
import de.robv.android.xposed.XSharedPreferences;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
import name.mikanoshi.customiuizer.mods.Controls;
import name.mikanoshi.customiuizer.mods.GlobalActions;
import name.mikanoshi.customiuizer.mods.Launcher;
import name.mikanoshi.customiuizer.mods.PackagePermissions;
import name.mikanoshi.customiuizer.mods.System;
import name.mikanoshi.customiuizer.mods.Various;
import name.mikanoshi.customiuizer.utils.Helpers;
import name.mikanoshi.customiuizer.utils.Helpers.MethodHook;
import name.mikanoshi.customiuizer.utils.PrefMap;
import name.mikanoshi.customiuizer.utils.ResourceHooks;
public class MainModule implements IXposedHookZygoteInit, IXposedHookLoadPackage {
public static PrefMap<String, Object> mPrefs = new PrefMap<String, Object>();
public static ResourceHooks resHooks;
private static boolean hideIconsActive = false;
public void initZygote(StartupParam startParam) {
//long startTime = SystemClock.elapsedRealtime();
if (mPrefs.size() == 0) {
XSharedPreferences pref = null;
try {
if (XposedBridge.getXposedVersion() >= 93)
pref = new XSharedPreferences(Helpers.modulePkg, Helpers.prefsName);
else
pref = new XSharedPreferences(new File(Helpers.prefsFile));
pref.makeWorldReadable();
} catch (Throwable t) {
XposedBridge.log(t);
}
Map<String, ?> allPrefs = pref == null ? null : pref.getAll();
if (allPrefs == null || allPrefs.size() == 0)
Helpers.log("[UID " + android.os.Process.myUid() +"] Cannot read module's SharedPreferences, some mods might not work!");
else
mPrefs.putAll(allPrefs);
}
resHooks = new ResourceHooks();
if (mPrefs.getInt("system_statusbarheight", 19) > 19) System.StatusBarHeightRes();
if (mPrefs.getInt("controls_navbarheight", 19) > 19) Controls.NavbarHeightRes();
if (mPrefs.getBoolean("system_compactnotif")) System.CompactNotificationsRes();
if (mPrefs.getBoolean("system_nosafevolume")) System.NoSafeVolumeWarningRes();
if (mPrefs.getBoolean("controls_powerflash")) Controls.PowerKeyRes();
if (mPrefs.getBoolean("controls_noscrchord")) Controls.NoScreenshotChordRes();
if (mPrefs.getStringAsInt("system_allrotations2", 1) > 1) System.AllRotationsRes();
if (mPrefs.getStringAsInt("system_rotateanim", 1) > 1) System.RotationAnimationRes();
if (mPrefs.getInt("system_betterpopups_delay", 0) > 0 && !mPrefs.getBoolean("system_betterpopups_nohide")) System.BetterPopupsHideDelaySysHook();
if (mPrefs.getInt("system_messagingstylelines", 0) > 0 && Helpers.is12()) System.MessagingStyleLinesSysHook();
if (mPrefs.getBoolean("system_colorizenotiftitle")) System.ColorizedNotificationTitlesHook();
if (mPrefs.getBoolean("system_nopassword")) System.NoPasswordHook();
if (mPrefs.getBoolean("system_epm")) System.ExtendedPowerMenuHook();
if (mPrefs.getBoolean("system_statusbarcolor")) System.StatusBarBackgroundHook();
if (mPrefs.getBoolean("system_magnifier") && Helpers.isPiePlus()) System.TextMagnifierHook();
if (mPrefs.getBoolean("system_lockscreenshortcuts") || mPrefs.getInt("controls_powerdt_action", 1) > 1) System.LockScreenSecureLaunchHook();
if (mPrefs.getBoolean("system_notifmediaseekbar") && !Helpers.is12()) System.MediaNotificationSeekBarHook();
if (mPrefs.getBoolean("system_disableanynotif") && !Helpers.isNougat()) System.DisableAnyNotificationBlockHook();
if (mPrefs.getBoolean("system_apksign")) System.NoSignatureVerifyHook();
if (mPrefs.getBoolean("system_nooverscroll")) System.NoOverscrollHook();
if (mPrefs.getBoolean("system_cleanshare")) System.CleanShareMenuHook();
if (mPrefs.getBoolean("system_cleanopenwith")) System.CleanOpenWithMenuHook();
if (mPrefs.getBoolean("system_removesecure")) System.RemoveSecureHook();
if (mPrefs.getBoolean("system_allownotifonkeyguard")) System.AllowAllKeyguardSysHook();
if (mPrefs.getBoolean("system_allownotiffloat")) System.AllowAllFloatSysHook();
if (mPrefs.getBoolean("system_resizablewidgets")) System.ResizableWidgetsHook();
if (mPrefs.getBoolean("system_hidelowbatwarn")) System.NoLowBatteryWarningHook();
if (mPrefs.getBoolean("system_screenshot_overlay")) System.TempHideOverlayHook();
if (mPrefs.getBoolean("system_nomediamute")) System.NoMediaMuteInDNDHook();
if (mPrefs.getBoolean("system_audiosilencer")) System.AudioSilencerHook();
if (mPrefs.getBoolean("system_fw_noblacklist")) System.NoFloatingWindowBlacklistHook();
if (mPrefs.getBoolean("controls_volumecursor")) Controls.VolumeCursorHook();
if (mPrefs.getBoolean("controls_fsg_horiz")) Controls.FSGesturesSysHook();
if (mPrefs.getBoolean("various_alarmcompat")) Various.AlarmCompatHook();
if (mPrefs.getStringAsInt("system_iconlabletoasts", 1) > 1) System.IconLabelToastsHook();
if (mPrefs.getStringAsInt("system_blocktoasts", 1) > 1) System.SelectiveToastsHook();
hideIconsActive =
mPrefs.getBoolean("system_statusbaricons_alarm") ||
mPrefs.getBoolean("system_statusbaricons_profile") ||
mPrefs.getBoolean("system_statusbaricons_sound") ||
mPrefs.getBoolean("system_statusbaricons_dnd") ||
mPrefs.getBoolean("system_statusbaricons_headset") ||
mPrefs.getBoolean("system_statusbaricons_mute") ||
mPrefs.getBoolean("system_statusbaricons_speaker") ||
mPrefs.getBoolean("system_statusbaricons_record");
if (hideIconsActive) System.HideIconsSystemHook();
Controls.VolumeMediaPlayerHook();
GlobalActions.setupSystemHelpers();
//Helpers.log("initZygote", String.valueOf(SystemClock.elapsedRealtime() - startTime));
}
public void handleLoadPackage(final LoadPackageParam lpparam) {
String pkg = lpparam.packageName;
if (pkg.equals("android") && lpparam.processName.equals("android")) {
PackagePermissions.hook(lpparam);
GlobalActions.setupGlobalActions(lpparam);
if (mPrefs.getBoolean("system_popupnotif_fs") ||
mPrefs.getBoolean("controls_volumecursor") ||
mPrefs.getBoolean("controls_fsg_horiz") ||
mPrefs.getStringAsInt("various_showcallui", 0) > 0) GlobalActions.setupForegroundMonitor(lpparam);
if (mPrefs.getInt("controls_fingerprint1_action", 1) > 1 ||
mPrefs.getInt("controls_fingerprint2_action", 1) > 1 ||
mPrefs.getInt("controls_fingerprintlong_action", 1) > 1 ||
mPrefs.getStringAsInt("controls_fingerprint_accept", 1) > 1 ||
mPrefs.getStringAsInt("controls_fingerprint_reject", 1) > 1 ||
mPrefs.getStringAsInt("controls_fingerprint_hangup", 1) > 1) Controls.FingerprintEventsHook(lpparam);
if (mPrefs.getInt("controls_backlong_action", 1) > 1 ||
mPrefs.getInt("controls_homelong_action", 1) > 1 ||
mPrefs.getInt("controls_menulong_action", 1) > 1) Controls.NavBarActionsHook(lpparam);
if (mPrefs.getInt("controls_powerdt_action", 1) > 1) Controls.PowerDoubleTapActionHook(lpparam);
if (mPrefs.getInt("system_screenanim_duration", 0) > 0) System.ScreenAnimHook(lpparam);
if (mPrefs.getInt("system_volumesteps", 0) > 0) System.VolumeStepsHook(lpparam);
if (mPrefs.getInt("system_applock_timeout", 1) > 1) System.AppLockTimeoutHook(lpparam);
if (mPrefs.getInt("system_dimtime", 0) > 0) System.ScreenDimTimeHook(lpparam);
if (mPrefs.getInt("system_toasttime", 0) > 0) System.ToastTimeHook(lpparam);
if (!mPrefs.getString("system_defaultusb", "none").equals("none")) System.USBConfigHook(lpparam);
if (mPrefs.getBoolean("system_nolightuponheadset")) System.NoLightUpOnHeadsetHook(lpparam);
if (mPrefs.getBoolean("system_securelock")) System.EnhancedSecurityHook(lpparam);
if (mPrefs.getBoolean("system_separatevolume")) System.NotificationVolumeServiceHook(lpparam);
if (mPrefs.getBoolean("system_downgrade")) System.NoVersionCheckHook(lpparam);
if (mPrefs.getBoolean("system_hidefromrecents")) System.HideFromRecentsHook(lpparam);
if (mPrefs.getBoolean("system_orientationlock")) System.OrientationLockHook(lpparam);
if (mPrefs.getBoolean("system_noducking")) System.NoDuckingHook(lpparam);
if (mPrefs.getBoolean("system_epm")) System.ExtendedPowerMenuHook(lpparam);
if (mPrefs.getBoolean("system_cleanshare")) System.CleanShareMenuServiceHook(lpparam);
if (mPrefs.getBoolean("system_cleanopenwith")) System.CleanOpenWithMenuServiceHook(lpparam);
if (mPrefs.getBoolean("system_autobrightness")) System.AutoBrightnessRangeHook(lpparam);
if (mPrefs.getBoolean("system_applock")) System.AppLockHook(lpparam);
if (mPrefs.getBoolean("system_applock_skip")) System.SkipAppLockHook(lpparam);
if (mPrefs.getBoolean("various_alarmcompat")) Various.AlarmCompatServiceHook(lpparam);
if (mPrefs.getBoolean("system_ignorecalls")) System.NoCallInterruptionHook(lpparam);
if (mPrefs.getBoolean("system_forceclose")) System.ForceCloseHook(lpparam);
if (mPrefs.getBoolean("system_hideproxywarn")) System.HideProximityWarningHook(lpparam);
if (mPrefs.getBoolean("system_firstpress")) System.FirstVolumePressHook(lpparam);
if (mPrefs.getBoolean("system_apksign")) System.NoSignatureVerifyServiceHook(lpparam);
if (mPrefs.getBoolean("system_vibration_amp")) System.MuffledVibrationHook(lpparam);
if (mPrefs.getBoolean("system_clearalltasks")) System.ClearAllTasksHook(lpparam);
if (mPrefs.getBoolean("system_snoozedmanager")) System.MoreSnoozeOptionsServiceHook(lpparam);
if (mPrefs.getBoolean("system_nodarkforce")) System.NoDarkForceHook(lpparam);
if (mPrefs.getBoolean("system_audiosilencer")) System.AudioSilencerServiceHook(lpparam);
if (mPrefs.getBoolean("system_fw_sticky")) System.StickyFloatingWindowsHook(lpparam);
if (mPrefs.getBoolean("system_charginginfo")) System.ChargingInfoServiceHook(lpparam);
if (mPrefs.getBoolean("system_lswallpaper")) System.SetLockscreenWallpaperHook(lpparam);
if (mPrefs.getBoolean("system_usenativerecents") && Helpers.is125()) System.UseNativeRecentsFixHook(lpparam);
if (mPrefs.getBoolean("controls_powerflash")) Controls.PowerKeyHook(lpparam);
if (mPrefs.getBoolean("controls_fingerprintfailure")) Controls.FingerprintHapticFailureHook(lpparam);
if (mPrefs.getBoolean("controls_fingerprintscreen")) Controls.FingerprintScreenOnHook(lpparam);
if (mPrefs.getBoolean("controls_fingerprintwake")) Controls.NoFingerprintWakeHook(lpparam);
if (mPrefs.getBoolean("various_miuiinstaller")) Various.MiuiPackageInstallerServiceHook(lpparam);
if (mPrefs.getBoolean("various_disableapp")) Various.AppsDisableServiceHook(lpparam);
if (mPrefs.getStringAsInt("system_allrotations2", 1) > 1) System.AllRotationsHook(lpparam);
if (mPrefs.getStringAsInt("system_nolightuponcharges", 1) > 1) System.NoLightUpOnChargeHook(lpparam);
if (mPrefs.getStringAsInt("system_autogroupnotif", 1) > 1) System.AutoGroupNotificationsHook(lpparam);
if (mPrefs.getStringAsInt("system_vibration", 1) > 1) System.SelectiveVibrationHook(lpparam);
if (mPrefs.getStringAsInt("system_rotateanim", 1) > 1 && Helpers.is12()) System.RotationAnimatinoHook(lpparam);
if (mPrefs.getStringAsInt("controls_fingerprintsuccess", 1) > 1) Controls.FingerprintHapticSuccessHook(lpparam);
if (mPrefs.getStringAsInt("controls_volumemedia_up", 0) > 0 ||
mPrefs.getStringAsInt("controls_volumemedia_down", 0) > 0) Controls.VolumeMediaButtonsHook(lpparam);
//Controls.AIButtonHook(lpparam);
}
if (pkg.equals("com.android.systemui")) {
GlobalActions.setupStatusBar(lpparam);
if (mPrefs.getInt("system_qsgridcolumns", 2) > 2 || mPrefs.getInt("system_qsgridrows", 1) > 1) System.QSGridRes();
if (mPrefs.getInt("system_qqsgridcolumns", 2) > 2) System.QQSGridRes();
if (mPrefs.getInt("system_volumeblur_collapsed", 0) > 0 || mPrefs.getInt("system_volumeblur_expanded", 0) > 0) System.BlurVolumeDialogBackgroundRes();
if (mPrefs.getBoolean("system_notifrowmenu")) System.NotificationRowMenuRes();
if (mPrefs.getBoolean("system_volumetimer")) System.VolumeTimerValuesRes();
if (mPrefs.getBoolean("system_separatevolume")) System.NotificationVolumeDialogRes();
if (mPrefs.getBoolean("system_snoozedmanager")) System.MoreSnoozeOptionsRes();
if (mPrefs.getBoolean("system_statusbaricons_volte")) System.HideIconsVoLTERes();
if (mPrefs.getStringAsInt("system_networkindicator", 1) > 1) System.NetworkIndicatorRes();
if (mPrefs.getInt("system_statusbarheight", 19) > 19) System.StatusBarHeightHook(lpparam);
if (mPrefs.getInt("system_recents_blur", 100) < 100) System.RecentsBlurRatioHook(lpparam);
if (mPrefs.getInt("system_drawer_blur", 100) < 100) System.DrawerBlurRatioHook(lpparam);
if (mPrefs.getInt("system_drawer_opacity", 100) < 100) System.DrawerThemeBackgroundHook(lpparam);
if (mPrefs.getInt("system_chargeanimtime", 20) < 20) System.ChargeAnimationHook(lpparam);
if (mPrefs.getInt("system_betterpopups_delay", 0) > 0 && !mPrefs.getBoolean("system_betterpopups_nohide")) System.BetterPopupsHideDelayHook(lpparam);
if (mPrefs.getInt("system_netspeedinterval", 4) != 4) System.NetSpeedIntervalHook(lpparam);
if (mPrefs.getInt("system_qsgridrows", 1) > 1 || mPrefs.getBoolean("system_qsnolabels")) System.QSGridLabelsHook(lpparam);
if (mPrefs.getInt("system_volumeblur_collapsed", 0) > 0 || mPrefs.getInt("system_volumeblur_expanded", 0) > 0) System.BlurVolumeDialogBackgroundHook(lpparam);
if (mPrefs.getInt("system_lstimeout", 9) > 9) System.LockScreenTimeoutHook(lpparam);
if (mPrefs.getInt("system_screenshot_floattime", 0) > 0) System.ScreenshotFloatTimeHook(lpparam);
if (mPrefs.getInt("system_volumedialogdelay_collapsed", 0) > 0 ||
mPrefs.getInt("system_volumedialogdelay_expanded", 0) > 0) System.VolumeDialogAutohideDelayHook(lpparam);
if (mPrefs.getInt("controls_fsg_coverage", 60) != 60) Controls.BackGestureAreaHeightHook(lpparam, true);
if (mPrefs.getInt("controls_fsg_width", 100) > 100) Controls.BackGestureAreaWidthHook(lpparam, true);
if (mPrefs.getInt("controls_fsg_assist_action", 1) > 1) Controls.AssistGestureActionHook(lpparam);
if (mPrefs.getInt("controls_navbarleft_action", 1) > 1 ||
mPrefs.getInt("controls_navbarleftlong_action", 1) > 1 ||
mPrefs.getInt("controls_navbarright_action", 1) > 1 ||
mPrefs.getInt("controls_navbarrightlong_action", 1) > 1) Controls.NavBarButtonsHook(lpparam);
if (mPrefs.getInt("system_recommended_first_action", 1) > 1 ||
mPrefs.getInt("system_recommended_second_action", 1) > 1 ||
mPrefs.getInt("system_recommended_third_action", 1) > 1 ||
mPrefs.getInt("system_recommended_fourth_action", 1) > 1) System.CustomRecommendedHook(lpparam, false);
if (mPrefs.getBoolean("system_scramblepin")) System.ScramblePINHook(lpparam);
if (mPrefs.getBoolean("system_dttosleep")) System.DoubleTapToSleepHook(lpparam);
if (mPrefs.getBoolean("system_clockseconds")) System.ClockSecondsHook(lpparam);
if (mPrefs.getBoolean("system_fixmeter")) System.TrafficSpeedSpacingHook(lpparam);
if (mPrefs.getBoolean("system_noscreenlock_act")) System.NoScreenLockHook(lpparam);
if (mPrefs.getBoolean("system_detailednetspeed")) System.DetailedNetSpeedHook(lpparam);
if (mPrefs.getBoolean("system_albumartonlock")) System.LockScreenAlbumArtHook(lpparam);
if (mPrefs.getBoolean("system_popupnotif")) System.PopupNotificationsHook(lpparam);
if (mPrefs.getBoolean("system_betterpopups_nohide")) System.BetterPopupsNoHideHook(lpparam);
if (mPrefs.getBoolean("system_betterpopups_swipedown")) System.BetterPopupsSwipeDownHook(lpparam);
if (mPrefs.getBoolean("system_betterpopups_center")) System.BetterPopupsCenteredHook(lpparam);
if (mPrefs.getBoolean("system_hidemoreicon")) System.NoMoreIconHook(lpparam);
if (mPrefs.getBoolean("system_notifafterunlock")) System.ShowNotificationsAfterUnlockHook(lpparam);
if (mPrefs.getBoolean("system_notifrowmenu")) System.NotificationRowMenuHook(lpparam);
if (mPrefs.getBoolean("system_compactnotif")) System.CompactNotificationsHook(lpparam);
if (mPrefs.getBoolean("system_removecleaner")) System.HideMemoryCleanHook(lpparam, false);
if (mPrefs.getBoolean("system_removedismiss")) System.HideDismissViewHook(lpparam);
if (mPrefs.getBoolean("controls_nonavbar")) Controls.HideNavBarHook(lpparam);
if (mPrefs.getBoolean("controls_imebackalticon")) Controls.ImeBackAltIconHook(lpparam);
if (mPrefs.getBoolean("controls_fsg_horiz")) Controls.FSGesturesHook(lpparam);
if (mPrefs.getBoolean("system_visualizer")) System.AudioVisualizerHook(lpparam);
if (mPrefs.getBoolean("system_separatevolume") && mPrefs.getBoolean("system_separatevolume_slider")) System.NotificationVolumeDialogHook(lpparam);
if (mPrefs.getBoolean("system_batteryindicator")) System.BatteryIndicatorHook(lpparam);
if (mPrefs.getBoolean("system_disableanynotif")) System.DisableAnyNotificationHook();
if (mPrefs.getBoolean("system_lockscreenshortcuts")) System.LockScreenShortcutHook(lpparam);
if (mPrefs.getBoolean("system_4gtolte")) System.Network4GtoLTEHook(lpparam);
if (mPrefs.getBoolean("system_showlux")) System.BrightnessLuxHook(lpparam);
if (mPrefs.getBoolean("system_showpct")) System.BrightnessPctHook(lpparam);
if (mPrefs.getBoolean("system_cleanmirror")) System.ClearBrightnessMirrorHook(lpparam);
if (mPrefs.getBoolean("system_hidelsstatusbar")) System.HideLockScreenStatusBarHook(lpparam);
if (mPrefs.getBoolean("system_hidelsclock")) System.HideLockScreenClockHook(lpparam);
if (mPrefs.getBoolean("system_hidelshint")) System.HideLockScreenHintHook(lpparam);
if (mPrefs.getBoolean("system_nosilentvibrate")) System.NoSilentVibrateHook(lpparam);
if (mPrefs.getBoolean("system_drawer_hidebackground")) System.HideThemeBackgroundBrightnessHook(lpparam);
if (mPrefs.getBoolean("system_allowdirectreply")) System.AllowDirectReplyHook(lpparam);
if (mPrefs.getBoolean("system_allownotifonkeyguard")) System.AllowAllKeyguardHook(lpparam);
if (mPrefs.getBoolean("system_allownotiffloat")) System.AllowAllFloatHook(lpparam);
if (mPrefs.getBoolean("system_hideqs")) System.HideQSHook(lpparam);
if (mPrefs.getBoolean("system_lsalarm")) System.LockScreenAlaramHook(lpparam);
if (mPrefs.getBoolean("system_statusbarcontrols")) System.StatusBarGesturesHook(lpparam);
if (mPrefs.getBoolean("system_screenshot")) System.ScreenshotConfigHook(lpparam);
if (mPrefs.getBoolean("system_nodrawerbackground")) System.RemoveDrawerBackgroundHook(lpparam);
if (mPrefs.getBoolean("system_nonetspeedseparator")) System.NoNetworkSpeedSeparatorHook(lpparam);
if (mPrefs.getBoolean("system_snoozedmanager")) System.MoreSnoozeOptionsHook(lpparam);
if (mPrefs.getBoolean("system_taptounlock")) System.TapToUnlockHook(lpparam);
if (mPrefs.getBoolean("system_nosos")) System.NoSOSHook(lpparam);
if (mPrefs.getBoolean("system_usenativerecents")) System.UseNativeRecentsHook(lpparam);
if (mPrefs.getBoolean("system_morenotif")) System.MoreNotificationsHook(lpparam);
if (mPrefs.getBoolean("system_dndtoggle")) System.VolumeDialogDNDSwitchHook(lpparam);
if (mPrefs.getBoolean("system_fw_splitscreen")) System.MultiWindowPlusNativeHook(lpparam);
if (mPrefs.getBoolean("system_charginginfo")) System.ChargingInfoHook(lpparam);
if (mPrefs.getBoolean("system_secureqs")) System.SecureQSTilesHook(lpparam);
if (mPrefs.getBoolean("system_mutevisiblenotif")) System.MuteVisibleNotificationsHook(lpparam);
if (mPrefs.getBoolean("launcher_nounlockanim")) System.NoUnlockAnimationHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_battery1")) System.HideIconsBattery1Hook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_battery2")) System.HideIconsBattery2Hook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_battery3")) System.HideIconsBattery3Hook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_signal")) System.HideIconsSignalHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_vpn")) System.HideIconsVPNHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_nosims")) System.HideIconsNoSIMsHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_wifi")) System.HideIconsNoWiFiHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_hotspot")) System.HideIconsHotspotHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_volte")) System.HideIconsVoLTEHook(lpparam);
if (mPrefs.getBoolean("system_statusbaricons_vowifi")) System.HideIconsVoWiFiHook(lpparam);
if (!mPrefs.getBoolean("system_statusbaricons_alarm") && mPrefs.getInt("system_statusbaricons_alarmn", 0) > 0) System.HideIconsSelectiveAlarmHook(lpparam);
if (!mPrefs.getString("system_shortcut_app", "").equals("")) System.ReplaceShortcutAppHook(lpparam);
if (!mPrefs.getString("system_clock_app", "").equals("")) System.ReplaceClockAppHook(lpparam);
if (!mPrefs.getString("system_calendar_app", "").equals("")) System.ReplaceCalendarAppHook(lpparam);
if (mPrefs.getStringAsInt("system_qshaptics", 1) > 1) System.QSHapticHook(lpparam);
if (mPrefs.getStringAsInt("system_expandnotifs", 1) > 1) System.ExpandNotificationsHook(lpparam);
if (mPrefs.getStringAsInt("system_inactivebrightness", 1) > 1) System.InactiveBrightnessSliderHook(lpparam);
if (mPrefs.getStringAsInt("system_mobiletypeicon", 1) > 1) System.HideNetworkTypeHook(lpparam);
if (mPrefs.getStringAsInt("system_statusbaricons_bluetooth", 1) > 1) System.HideIconsBluetoothHook(lpparam);
if (hideIconsActive) System.HideIconsHook(lpparam);
if (Helpers.is12()) {
if (mPrefs.getInt("system_messagingstylelines", 0) > 0) System.MessagingStyleLinesHook(lpparam);
if (mPrefs.getBoolean("system_betterpopups_allowfloat")) System.BetterPopupsAllowFloatHook(lpparam);
if (mPrefs.getBoolean("system_securecontrolcenter")) System.SecureControlCenterHook(lpparam);
if (mPrefs.getBoolean("system_minimalnotifview")) System.MinimalNotificationViewHook(lpparam);
if (mPrefs.getBoolean("system_notifchannelsettings")) System.NotificationChannelSettingsHook(lpparam);
if (mPrefs.getStringAsInt("system_maxsbicons", 0) != 0) System.MaxNotificationIconsHook(lpparam);
} else {
if (mPrefs.getBoolean("system_notifmediaseekbar")) System.MediaNotificationSeekBarSysUIHook(lpparam);
}
}
if (pkg.equals(Helpers.modulePkg)) {
GlobalActions.miuizerHook(lpparam);
}
if (pkg.equals("com.android.server.telecom")) {
if (mPrefs.getBoolean("various_callreminder")) Various.CallReminderHook(lpparam);
}
if (pkg.equals("com.android.incallui")) {
if (mPrefs.getStringAsInt("various_showcallui", 0) > 0) Various.ShowCallUIHook(lpparam);
if (mPrefs.getBoolean("various_calluibright")) Various.InCallBrightnessHook(lpparam);
// Various.LargeCallerPhotoHook(lpparam);
}
if (pkg.equals("com.miui.securitycenter")) {
if (mPrefs.getBoolean("various_appdetails")) Various.AppInfoHook(lpparam);
if (mPrefs.getBoolean("various_disableapp")) Various.AppsDisableHook(lpparam);
if (mPrefs.getBoolean("various_restrictapp")) Various.AppsRestrictHook(lpparam);
if (mPrefs.getBoolean("system_unblockthird")) System.UnblockThirdLaunchersHook(lpparam);
if (mPrefs.getBoolean("system_applock_scramblepin")) System.ScrambleAppLockPINHook(lpparam);
if (mPrefs.getStringAsInt("various_appsort", 0) > 0) Various.AppsDefaultSortHook(lpparam);
}
if (pkg.equals("com.miui.powerkeeper")) {
if (mPrefs.getBoolean("various_restrictapp")) Various.AppsRestrictPowerHook(lpparam);
}
if (pkg.equals("com.android.settings")) {
GlobalActions.miuizerSettingsRes();
if (Helpers.is12())
GlobalActions.miuizerSettings12Hook(lpparam);
else
GlobalActions.miuizerSettingsHook(lpparam);
if (mPrefs.getBoolean("system_separatevolume")) {
System.NotificationVolumeSettingsRes();
System.NotificationVolumeSettingsHook(lpparam);
}
if (mPrefs.getBoolean("system_disableanynotif")) System.DisableAnyNotificationHook();
if (!mPrefs.getString("system_defaultusb", "none").equals("none")) System.USBConfigSettingsHook(lpparam);
}
if (pkg.equals("com.google.android.packageinstaller") || pkg.equals("com.android.packageinstaller")) {
if (mPrefs.getBoolean("various_installappinfo")) Various.AppInfoDuringInstallHook(lpparam);
}
if (pkg.startsWith("com.google.android.inputmethod")) {
if (mPrefs.getInt("various_gboardpadding_port", 0) > 0 || mPrefs.getInt("various_gboardpadding_land", 0) > 0) Various.GboardPaddingHook();
}
if (pkg.equals("com.miui.packageinstaller")) {
if (mPrefs.getBoolean("system_apksign")) System.NoSignatureVerifyMiuiHook(lpparam);
if (mPrefs.getBoolean("various_miuiinstaller")) Various.MiuiPackageInstallerHook(lpparam);
if (mPrefs.getBoolean("various_installappinfo")) Various.AppInfoDuringMiuiInstallHook(lpparam);
}
if (pkg.equals("org.meowcat.edxposed.manager"))
Helpers.findAndHookMethod(Application.class, "attach", Context.class, new MethodHook() {
@Override
protected void after(MethodHookParam param) throws Throwable {
GlobalActions.miuizerEdXposedManagerHook(lpparam);
}
});
if (pkg.equals("com.miui.screenrecorder")) {
if (mPrefs.getBoolean("various_unlockfps")) Various.ScreenRecorderFramerateHook(lpparam);
}
final boolean isMIUILauncherPkg = pkg.equals("com.miui.home");
final boolean isLauncherPkg = isMIUILauncherPkg || pkg.equals("com.mi.android.globallauncher");
final boolean isLauncherPerf = mPrefs.getBoolean("launcher_compat");
final boolean isGoogleMinus = mPrefs.getBoolean("launcher_googleminus");
final boolean isStatusBarColor = mPrefs.getBoolean("system_statusbarcolor") && !mPrefs.getStringSet("system_statusbarcolor_apps").contains(pkg);
final int collapseTitlesOpt = mPrefs.getStringAsInt("various_collapsemiuititles", 1);
final boolean collapseTitles = collapseTitlesOpt > 1 && Helpers.is12();
final boolean noOverscroll = mPrefs.getBoolean("system_nooverscroll") && Helpers.is125();
if (isLauncherPkg) {
if (mPrefs.getInt("launcher_horizmargin", 0) > 0) Launcher.HorizontalSpacingRes();
if (mPrefs.getInt("launcher_topmargin", 0) > 0) Launcher.TopSpacingRes();
if (mPrefs.getInt("launcher_bottommargin", 0) > 0) Launcher.BottomSpacingRes();
if (mPrefs.getInt("launcher_indicatorheight", 9) > 9) Launcher.IndicatorHeightRes();
if (mPrefs.getBoolean("launcher_unlockgrids")) Launcher.UnlockGridsRes();
if (mPrefs.getBoolean("launcher_docktitles")) Launcher.ShowHotseatTitlesRes();
if (isLauncherPerf) handleLoadLauncher(lpparam);
}
if ((isLauncherPkg && !isLauncherPerf) || (isMIUILauncherPkg && isGoogleMinus) || isStatusBarColor || collapseTitles || noOverscroll)
Helpers.findAndHookMethod(Application.class, "attach", Context.class, new MethodHook() {
@Override
protected void after(MethodHookParam param) throws Throwable {
if (isLauncherPkg && !isLauncherPerf) handleLoadLauncher(lpparam);
if (isMIUILauncherPkg && isGoogleMinus) Launcher.GoogleMinusScreenHook(lpparam);
if (isStatusBarColor) System.StatusBarBackgroundCompatHook(lpparam);
if (collapseTitles) Various.CollapseMIUITitlesHook(lpparam, param, collapseTitlesOpt);
if (noOverscroll) System.NoOverscrollAppHook(lpparam);
}
});
}
private void handleLoadLauncher(final LoadPackageParam lpparam) {
boolean closeOnLaunch = false;
if (mPrefs.getInt("launcher_swipedown_action", 1) != 1 ||
mPrefs.getInt("launcher_swipeup_action", 1) != 1 ||
mPrefs.getInt("launcher_swipedown2_action", 1) != 1 ||
mPrefs.getInt("launcher_swipeup2_action", 1) != 1) Launcher.HomescreenSwipesHook(lpparam);
if (mPrefs.getInt("launcher_swipeleft_action", 1) != 1 ||
mPrefs.getInt("launcher_swiperight_action", 1) != 1) Launcher.HotSeatSwipesHook(lpparam);
if (mPrefs.getInt("launcher_shake_action", 1) != 1) Launcher.ShakeHook(lpparam);
if (mPrefs.getInt("launcher_doubletap_action", 1) != 1) Launcher.LauncherDoubleTapHook(lpparam);
if (mPrefs.getInt("launcher_pinch_action", 1) != 1) Launcher.LauncherPinchHook(lpparam);
if (mPrefs.getInt("launcher_folder_cols", 1) > 1) Launcher.FolderColumnsHook(lpparam);
if (mPrefs.getInt("launcher_iconscale", 45) > 45) Launcher.IconScaleHook(lpparam);
if (mPrefs.getInt("launcher_titlefontsize", 5) > 5) Launcher.TitleFontSizeHook(lpparam);
if (mPrefs.getInt("launcher_titletopmargin", 0) > 0) Launcher.TitleTopMarginHook(lpparam);
if (mPrefs.getInt("system_statusbarheight", 19) > 19) Launcher.StatusBarHeightHook(lpparam);
if (mPrefs.getBoolean("launcher_noclockhide")) Launcher.NoClockHideHook(lpparam);
if (mPrefs.getBoolean("launcher_renameapps")) Launcher.RenameShortcutsHook(lpparam);
if (mPrefs.getBoolean("launcher_darkershadow")) Launcher.TitleShadowHook(lpparam);
if (mPrefs.getBoolean("controls_nonavbar")) Launcher.HideNavBarHook(lpparam);
if (mPrefs.getBoolean("launcher_infinitescroll")) Launcher.InfiniteScrollHook(lpparam);
if (mPrefs.getBoolean("launcher_hidetitles")) Launcher.HideTitlesHook(lpparam);
if (mPrefs.getBoolean("launcher_fixlaunch")) Launcher.FixAppInfoLaunchHook(lpparam);
if (mPrefs.getBoolean("launcher_nowidgetonly")) Launcher.NoWidgetOnlyHook(lpparam);
if (mPrefs.getBoolean("launcher_sensorportrait")) Launcher.ReverseLauncherPortraitHook(lpparam);
if (mPrefs.getBoolean("launcher_unlockhotseat")) Launcher.MaxHotseatIconsCountHook(lpparam);
if (mPrefs.getStringAsInt("launcher_foldershade", 1) > 1) Launcher.FolderShadeHook(lpparam);
if (mPrefs.getStringAsInt("launcher_closefolders", 1) > 1) { Launcher.CloseFolderOnLaunchHook(lpparam); closeOnLaunch = true; }
if (lpparam.packageName.equals("com.miui.home")) {
if (mPrefs.getInt("system_recents_blur", 100) < 100) Launcher.RecentsBlurRatioHook(lpparam);
if (mPrefs.getInt("system_recommended_first_action", 1) > 1 ||
mPrefs.getInt("system_recommended_second_action", 1) > 1 ||
mPrefs.getInt("system_recommended_third_action", 1) > 1 ||
mPrefs.getInt("system_recommended_fourth_action", 1) > 1) System.CustomRecommendedHook(lpparam, true);
if (mPrefs.getInt("controls_fsg_coverage", 60) != 60) Controls.BackGestureAreaHeightHook(lpparam, false);
if (mPrefs.getInt("controls_fsg_width", 100) > 100) Controls.BackGestureAreaWidthHook(lpparam, false);
if (mPrefs.getBoolean("controls_fsg_horiz")) Launcher.FSGesturesHook(lpparam);
if (mPrefs.getBoolean("system_removecleaner")) System.HideMemoryCleanHook(lpparam, true);
if (mPrefs.getBoolean("system_fw_sticky")) System.StickyFloatingWindowsLauncherHook(lpparam);
if (mPrefs.getBoolean("system_fw_splitscreen")) System.MultiWindowPlusHook(lpparam);
//if (mPrefs.getBoolean("launcher_fixstatusbarmode")) Launcher.FixStatusBarModeHook(lpparam);
if (mPrefs.getBoolean("launcher_fixanim")) Launcher.FixAnimHook(lpparam);
if (mPrefs.getBoolean("launcher_hideseekpoints")) Launcher.HideSeekPointsHook(lpparam);
if (mPrefs.getBoolean("launcher_privacyapps_gest") ||
mPrefs.getInt("launcher_spread_action", 1) != 1) Launcher.PrivacyFolderHook(lpparam);
if (!mPrefs.getBoolean("launcher_googleminus") && mPrefs.getBoolean("launcher_googlediscover")) Launcher.GoogleDiscoverHook(lpparam);
if (mPrefs.getBoolean("launcher_docktitles") && mPrefs.getInt("launcher_bottommargin", 0) == 0) Launcher.ShowHotseatTitlesHook(lpparam);
if (mPrefs.getBoolean("launcher_folderblur")) Launcher.FolderBlurHook(lpparam);
if (mPrefs.getBoolean("launcher_nounlockanim")) Launcher.NoUnlockAnimationHook(lpparam);
if (mPrefs.getBoolean("launcher_nozoomanim")) Launcher.NoZoomAnimationHook(lpparam);
if (mPrefs.getBoolean("launcher_oldlaunchanim")) Launcher.UseOldLaunchAnimationHook(lpparam);
if (mPrefs.getBoolean("launcher_unlockgrids")) Launcher.UnlockGridsHook(lpparam);
if (mPrefs.getBoolean("launcher_closedrawer")) { Launcher.CloseDrawerOnLaunchHook(lpparam); closeOnLaunch = true; }
if (mPrefs.getInt("launcher_bottommargin", 0) > 0) Launcher.BottomSpacingHook(lpparam);
if (mPrefs.getInt("launcher_horizwidgetmargin", 0) > 0) Launcher.HorizontalWidgetSpacingHook(lpparam);
}
if (closeOnLaunch) Launcher.CloseFolderOrDrawerOnLaunchShortcutMenuHook(lpparam);
//if (!mPrefs.getString("system_clock_app", "").equals("")) Launcher.ReplaceClockAppHook(lpparam);
//if (!mPrefs.getString("system_calendar_app", "").equals("")) Launcher.ReplaceCalendarAppHook(lpparam);
//Launcher.NoInternationalBuildHook(lpparam);
}
}