package hello.dcsms.omzen;
import hello.dcsms.omzen.Traffic.TrafficMeter;
import hello.dcsms.omzen.Util.RLParam;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.XModuleResources;
import android.content.res.XResources;
import android.graphics.Color;
import android.os.Process;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextSwitcher;
import android.widget.TextView;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XSharedPreferences;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_InitPackageResources.InitPackageResourcesParam;
import de.robv.android.xposed.callbacks.XC_LayoutInflated;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
public class ModStatusbar {
public static String[] SINYAL1 = { "stat_sys_signal_null",
"stat_sys_signal_0", "stat_sys_signal_0_fully",
"stat_sys_signal_1", "stat_sys_signal_1_fully",
"stat_sys_signal_2", "stat_sys_signal_2_fully",
"stat_sys_signal_3", "stat_sys_signal_3_fully",
"stat_sys_signal_4", "stat_sys_signal_4_fully" };
public static String[] SINYAL2 = { "stat_sys_dual_signal_0_fully",
"stat_sys_dual_signal_1_fully", "stat_sys_dual_signal_2_fully",
"stat_sys_dual_signal_3_fully", "stat_sys_dual_signal_4_fully" };
public static String[] SIM1 = { "stat_sys_dual_simcard1_n",
"stat_sys_dual_simcard1_focus" };
public static String[] SIM2 = { "stat_sys_dual_simcard2_n",
"stat_sys_dual_simcard2_focus" };
public static String[] BATERAI = { "stat_sys_battery_0",
"stat_sys_battery_15", "stat_sys_battery_28",
"stat_sys_battery_43", "stat_sys_battery_57",
"stat_sys_battery_71", "stat_sys_battery_85",
"stat_sys_battery_100" };
public static String[] BATERAIANIM = { "stat_sys_battery_charge_anim0",
"stat_sys_battery_charge_anim15", "stat_sys_battery_charge_anim28",
"stat_sys_battery_charge_anim43", "stat_sys_battery_charge_anim57",
"stat_sys_battery_charge_anim71", "stat_sys_battery_charge_anim85",
"stat_sys_battery_charge_anim100" };
public static String[] STAT_SYS_DATA = { "stat_sys_data_connected_1x",
"stat_sys_data_connected_3g", "stat_sys_data_connected_4g",
"stat_sys_data_connected_d", "stat_sys_data_connected_e",
"stat_sys_data_connected_g", "stat_sys_data_connected_h",
"stat_sys_data_connected_hplus", "stat_sys_data_connected_lte",
"stat_sys_data_connected_roam", "stat_sys_data_fully_connected_1x",
"stat_sys_data_fully_connected_3g",
"stat_sys_data_fully_connected_4g",
"stat_sys_data_fully_connected_d",
"stat_sys_data_fully_connected_e",
"stat_sys_data_fully_connected_g",
"stat_sys_data_fully_connected_h",
"stat_sys_data_fully_connected_hplus",
"stat_sys_data_fully_connected_lte",
"stat_sys_data_fully_connected_roam", "stat_sys_signal_in",
"stat_sys_signal_inout", "stat_sys_signal_inout_null",
"stat_sys_signal_out" };
public static String[] PNG_SIM1 = { "sim1n", "sim1focus" };
public static String[] PNG_SIM2 = { "sim2n", "sim2focus" };
public static String[] PNG_SINYAL1 = { "sinyal0", "sinyal0", "sinyal0",
"sinyal1", "sinyal1", "sinyal2", "sinyal2", "sinyal3", "sinyal3",
"sinyal4", "sinyal4" };
public static String[] PNG_SINYAL2 = { "sinyalnet0", "sinyalnet1",
"sinyalnet2", "sinyalnet3", "sinyalnet4" };
public static String[] PNG_BATERAI = { "stat_sys_battery_0",
"stat_sys_battery_15", "stat_sys_battery_28",
"stat_sys_battery_43", "stat_sys_battery_57",
"stat_sys_battery_71", "stat_sys_battery_85",
"stat_sys_battery_100" };
public static String[] PNG_BATERAI_ANIM = {
"stat_sys_battery_charge_anim0", "stat_sys_battery_charge_anim15",
"stat_sys_battery_charge_anim28", "stat_sys_battery_charge_anim43",
"stat_sys_battery_charge_anim57", "stat_sys_battery_charge_anim71",
"stat_sys_battery_charge_anim85", "stat_sys_battery_charge_anim100" };
private static String[] ICONLAIN = { "stat_notify_image",
"stat_notify_image_error", "stat_sys_alarm",
"stat_sys_data_bluetooth", "stat_sys_data_bluetooth_connected",
"stat_sys_gps_acquiring", "stat_sys_no_sim",
"stat_sys_ringer_silent", "stat_sys_ringer_vibrate",
"stat_sys_signal_flightmode", "stat_sys_sync",
"stat_sys_sync_error", "stat_sys_wifi_in", "stat_sys_wifi_inout",
"stat_sys_wifi_inout_null", "stat_sys_wifi_out",
"stat_sys_wifi_signal_0", "stat_sys_wifi_signal_1",
"stat_sys_wifi_signal_1_fully", "stat_sys_wifi_signal_2",
"stat_sys_wifi_signal_2_fully", "stat_sys_wifi_signal_3",
"stat_sys_wifi_signal_3_fully", "stat_sys_wifi_signal_4",
"stat_sys_wifi_signal_4_fully", "stat_sys_wifi_signal_null" };
static ViewGroup parent;
static ImageView sim1_num;
static ImageView sim1_signal;
static ImageView sim2_num;
static ImageView sim2_signal;
private static FrameLayout sim1_fl;
private static FrameLayout sim2_fl;
private static XSharedPreferences pref;
private static String ASUS_STATBAR = "com.android.systemui.statusbar.phone.AsusPhoneStatusBar";
private static TextSwitcher tickerswitcher;
static TextView ticker1, ticker2, jamoriginal, battext1, battext2,
battext3;
private static TrafficMeter mtraffic;
static LinearLayout layoutinout;
public static void init(InitPackageResourcesParam resparam,
XModuleResources modRes) {
AturSinyalInOut(resparam);
AturSinyalClusterLayout(resparam);
GantiSinyalStatusBar(resparam, modRes);
}
static BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent i) {
if (i.getAction().equals(S.OMZEN)) {
android.os.Process.sendSignal(Process.myPid(),
Process.SIGNAL_KILL);
} else if (i.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
int style = pref.getInt(S.STATBAR_LAYOUT_STYLE, 0);
AturUlangLayout(style);
Intent oo = new Intent();
oo.setAction(S.UPDATE_TRAFFIC);
c.sendBroadcast(oo);
AturUlangInOut();
ModStatusbarNotif.UbahWarnaNOTIF();
} else if (i.getAction().equals(S.ATURLAYOUT)) {
int style = i.getIntExtra("STYLE", 0);
AturUlangLayout(style);
} else if (i.getAction().equals("hello.dcsms.omzen.UPDATESINYAL")) {
AturUlangInOut();
} else if (i.getAction()
.equals("hello.dcsms.omzen.UPDATENOTIFTEXT")) {
ModStatusbarNotif.UbahWarnaNOTIF();
}
}
};
static boolean sempit = true;
private static String CLUSTER = "asus_signal_cluster_view_dual_sim";
static LinearLayout.LayoutParams vertical = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.MATCH_PARENT);
static LinearLayout.LayoutParams horizontal = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.MATCH_PARENT);
static LinearLayout.LayoutParams vertical05 = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0.5f);
static LinearLayout.LayoutParams horizontal05 = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 0.5f);
static Context clusterContext;
private static void AturSinyalClusterLayout(
InitPackageResourcesParam resparam) {
resparam.res.hookLayout(S.SYSTEMUI, "layout", CLUSTER,
new XC_LayoutInflated() {
android.widget.FrameLayout.LayoutParams fl_lp = new android.widget.FrameLayout.LayoutParams(
android.widget.FrameLayout.LayoutParams.WRAP_CONTENT,
android.widget.FrameLayout.LayoutParams.MATCH_PARENT);
android.widget.LinearLayout.LayoutParams ll_lp = new android.widget.LinearLayout.LayoutParams(
android.widget.LinearLayout.LayoutParams.WRAP_CONTENT,
android.widget.LinearLayout.LayoutParams.MATCH_PARENT);
@Override
public void handleLayoutInflated(LayoutInflatedParam liparam)
throws Throwable {
pref = new XSharedPreferences("hello.dcsms.omzen");
pref.makeWorldReadable();
String device = pref.getString("NAMA_DEVICE",
"ASUS_T00I");
int w = 72;
try {
w = Integer.parseInt(pref.getString(
"ICON_MERGE_WIDTH", "72"));
} catch (Exception e) {
}
ImageView ethernet = (ImageView) liparam.view
.findViewById(liparam.res.getIdentifier(
"ethernet", "id", S.SYSTEMUI));
parent = (ViewGroup) ethernet.getParent();
LinearLayout.LayoutParams lpparent = new LinearLayout.LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL);
clusterContext = liparam.view.getContext();
layoutinout = new LinearLayout(liparam.view
.getContext());
if (device.equals("ASUS_T00F")) {
sim1_fl = (FrameLayout) parent.getChildAt(7);
sim2_fl = (FrameLayout) parent.getChildAt(8);
sim1_num = (ImageView) sim1_fl.getChildAt(0);
sim1_signal = (ImageView) sim1_fl.getChildAt(1);
sim2_num = (ImageView) sim2_fl.getChildAt(0);
sim2_signal = (ImageView) sim2_fl.getChildAt(1);
parent.removeView(sim1_fl);
parent.removeView(sim2_fl);
layoutinout.addView(sim1_fl);
layoutinout.addView(sim2_fl);
parent.addView(layoutinout);
} else {
sim1_num = (ImageView) parent.getChildAt(7);
sim1_signal = (ImageView) parent.getChildAt(8);
sim2_num = (ImageView) parent.getChildAt(9);
sim2_signal = (ImageView) parent.getChildAt(10);
sim1_fl = new FrameLayout(liparam.view.getContext());
sim2_fl = new FrameLayout(liparam.view.getContext());
parent.removeView(sim1_num);
parent.removeView(sim1_signal);
sim1_fl.addView(sim1_num);
sim1_fl.addView(sim1_signal);
parent.removeView(sim2_num);
parent.removeView(sim2_signal);
sim2_fl.addView(sim2_num);
sim2_fl.addView(sim2_signal);
layoutinout.addView(sim1_fl);
layoutinout.addView(sim2_fl);
parent.addView(layoutinout);
}
layoutinout.setGravity(Gravity.CENTER_HORIZONTAL);
sim1_num.setScaleType(ScaleType.CENTER_INSIDE);
sim1_signal.setScaleType(ScaleType.CENTER_INSIDE);
sim2_num.setScaleType(ScaleType.CENTER_INSIDE);
sim2_signal.setScaleType(ScaleType.CENTER_INSIDE);
parent.setLayoutParams(lpparent);
// INOUT SIM 1
LinearLayout MCombo1 = (LinearLayout) parent
.getChildAt(4);
ImageView MCombo1_view1 = (ImageView) MCombo1
.getChildAt(0);
ImageView MCombo1_view2 = (ImageView) MCombo1
.getChildAt(1);
MCombo1.removeView(MCombo1_view1);
MCombo1.removeView(MCombo1_view2);
FrameLayout Mcombo1_fl = new FrameLayout(liparam.view
.getContext());
MCombo1.addView(
Mcombo1_fl,
0,
new LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT));
Mcombo1_fl.addView(MCombo1_view2);
Mcombo1_fl.addView(MCombo1_view1);
MCombo1_view2.setScaleType(ScaleType.CENTER_INSIDE);
MCombo1_view1.setScaleType(ScaleType.CENTER_INSIDE);
// INOUT SIM 2
LinearLayout MCombo2 = (LinearLayout) parent
.getChildAt(6);
ImageView MCombo2_view1 = (ImageView) MCombo2
.getChildAt(0);
ImageView MCombo2_view2 = (ImageView) MCombo2
.getChildAt(1);
MCombo2.removeView(MCombo2_view1);
MCombo2.removeView(MCombo2_view2);
FrameLayout Mcombo2_fl = new FrameLayout(liparam.view
.getContext());
MCombo2.addView(
Mcombo2_fl,
0,
new LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT));
Mcombo2_fl.addView(MCombo2_view2);
Mcombo2_fl.addView(MCombo2_view1);
MCombo2_view2.setScaleType(ScaleType.CENTER_INSIDE);
MCombo2_view1.setScaleType(ScaleType.CENTER_INSIDE);
}
});
}
protected static void AturUlangInOut() {
pref = new XSharedPreferences("hello.dcsms.omzen");
sempit = pref.getBoolean("SMALL_SINYAL", true);
if (sempit) {
layoutinout.setGravity(Gravity.CENTER_HORIZONTAL);
layoutinout.setOrientation(LinearLayout.VERTICAL);
layoutinout.setWeightSum(1);
layoutinout.getChildAt(0).setLayoutParams(horizontal05);
layoutinout.getChildAt(1).setLayoutParams(horizontal05);
} else {
layoutinout.setGravity(Gravity.CENTER_VERTICAL);
layoutinout.setOrientation(LinearLayout.HORIZONTAL);
layoutinout.getChildAt(0).setLayoutParams(horizontal);
layoutinout.getChildAt(1).setLayoutParams(horizontal);
}
}
static InitPackageResourcesParam mParams;
static XModuleResources mModres;
static Context mContext;
private static void GantiSinyalStatusBar(
InitPackageResourcesParam resparam, XModuleResources modRes) {
mParams = resparam;
mModres = modRes;
resparam.res.setReplacement("com.android.systemui", "drawable",
"stat_notify_more", DrawUtils.getIcon("stat_notify_more"));
for (int i = 0; i < STAT_SYS_DATA.length; i++) {
resparam.res.setReplacement("com.android.systemui", "drawable",
STAT_SYS_DATA[i], DrawUtils.getIcon(STAT_SYS_DATA[i]));
}
for (int i = 0; i < SINYAL1.length; i++) {
resparam.res.setReplacement("com.android.systemui", "drawable",
SINYAL1[i], DrawUtils.getIcon(PNG_SINYAL1[i]));
}
for (int i = 0; i < SINYAL2.length; i++) {
resparam.res.setReplacement("com.android.systemui", "drawable",
SINYAL2[i], DrawUtils.getIcon(PNG_SINYAL2[i]));
}
for (int i = 0; i < SIM1.length; i++) {
resparam.res.setReplacement("com.android.systemui", "drawable",
SIM1[i], DrawUtils.getIcon(PNG_SIM1[i]));
}
for (int i = 0; i < SIM2.length; i++) {
resparam.res.setReplacement("com.android.systemui", "drawable",
SIM2[i], DrawUtils.getIcon(PNG_SIM2[i]));
}
for (int i = 0; i < BATERAI.length; i++) {
XResources.setSystemWideReplacement("android", "drawable",
BATERAI[i], DrawUtils.getIcon(PNG_BATERAI[i]));
}
for (int i = 0; i < BATERAIANIM.length; i++) {
XResources.setSystemWideReplacement("android", "drawable",
BATERAIANIM[i], DrawUtils.getIcon(PNG_BATERAI_ANIM[i]));
}
for (int i = 0; i < ICONLAIN.length; i++) {
resparam.res.setReplacement("com.android.systemui", "drawable",
ICONLAIN[i], DrawUtils.getIcon(ICONLAIN[i]));
}
}
private static TextView jam;
private static LinearLayout ll_bat;
private static LinearLayout ll_appsicon;
private static LinearLayout ll_sinyal;
private static RelativeLayout main_layout;
static LayoutParams full = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.MATCH_PARENT);
static LayoutParams kiri = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.MATCH_PARENT);
static LayoutParams tengah = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.MATCH_PARENT);
static LayoutParams kanan = new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.MATCH_PARENT);
static LinearLayout SBContent;
private static void AturSinyalInOut(final InitPackageResourcesParam respar) {
respar.res.hookLayout(S.SYSTEMUI, "layout", "asus_status_bar",
new XC_LayoutInflated() {
@Override
public void handleLayoutInflated(LayoutInflatedParam liparam)
throws Throwable {
pref = new XSharedPreferences("hello.dcsms.omzen");
pref.makeWorldReadable();
String device = pref.getString("NAMA_DEVICE",
"ASUS_T00I");
int w = 72;
try {
w = Integer.parseInt(pref.getString(
"ICON_MERGE_WIDTH", "72"));
} catch (Exception e) {
}
mContext = liparam.view.getContext();
SBContent = (LinearLayout) liparam.view
.findViewById(liparam.res
.getIdentifier("status_bar_contents",
"id", S.SYSTEMUI));
LinearLayout SBCluster = (LinearLayout) liparam.view
.findViewById(liparam.res.getIdentifier(
"signal_battery_cluster", "id",
S.SYSTEMUI));
TextView bb1 = (TextView) liparam.view
.findViewById(liparam.res.getIdentifier(
"dock_battery_percentage", "id",
S.SYSTEMUI));
ImageView bb2 = (ImageView) liparam.view
.findViewById(liparam.res.getIdentifier(
"dock_battery", "id", S.SYSTEMUI));
ImageView bb3 = (ImageView) liparam.view
.findViewById(liparam.res.getIdentifier(
"dock_charger", "id", S.SYSTEMUI));
TextView bb4 = (TextView) liparam.view
.findViewById(liparam.res.getIdentifier(
"pad_battery_percentage", "id",
S.SYSTEMUI));
ImageView bb5 = (ImageView) liparam.view
.findViewById(liparam.res.getIdentifier(
"pad_battery", "id", S.SYSTEMUI));
ImageView bb6 = (ImageView) liparam.view
.findViewById(liparam.res.getIdentifier(
"pad_charger", "id", S.SYSTEMUI));
TextView bb7 = (TextView) liparam.view.findViewById(liparam.res
.getIdentifier("battery_percentage", "id",
S.SYSTEMUI));
ImageView bb8 = (ImageView) liparam.view
.findViewById(liparam.res.getIdentifier(
"battery", "id", S.SYSTEMUI));
ll_appsicon = (LinearLayout) SBContent.getChildAt(0);
ll_sinyal = (LinearLayout) SBContent.getChildAt(1);
ll_bat = new LinearLayout(liparam.view.getContext());
ll_bat.setLayoutParams(new android.widget.LinearLayout.LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
android.view.ViewGroup.LayoutParams.MATCH_PARENT));
jamoriginal = (TextView) ll_sinyal.getChildAt(2);
jamoriginal.setVisibility(View.GONE);
jam = new JamDiStatusBar(liparam.view.getContext());
jam.setId(666);
main_layout = new RelativeLayout(liparam.view
.getContext());
kiri.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
tengah.addRule(RelativeLayout.CENTER_IN_PARENT);
kanan.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
main_layout.setLayoutParams(full);
SBContent.addView(main_layout);
main_layout.addView(jam, 0, tengah);
SBCluster.removeView(bb1);
SBCluster.removeView(bb2);
SBCluster.removeView(bb3);
SBCluster.removeView(bb4);
SBCluster.removeView(bb5);
SBCluster.removeView(bb6);
SBCluster.removeView(bb7);
SBCluster.removeView(bb8);
ll_appsicon
.setLayoutParams(new LinearLayout.LayoutParams(
w,
android.view.ViewGroup.LayoutParams.MATCH_PARENT));
ll_bat.addView(bb1);
ll_bat.addView(bb2);
ll_bat.addView(bb3);
ll_bat.addView(bb4);
ll_bat.addView(bb5);
ll_bat.addView(bb6);
ll_bat.addView(bb7);
ll_bat.addView(bb8);
// ll_v1.addView(ll_bat,0);
// 2 3 5 6 8
bb2.setScaleType(ScaleType.CENTER_INSIDE);
bb3.setScaleType(ScaleType.CENTER_INSIDE);
bb5.setScaleType(ScaleType.CENTER_INSIDE);
bb6.setScaleType(ScaleType.CENTER_INSIDE);
bb8.setScaleType(ScaleType.CENTER_INSIDE);
ll_bat.setGravity(Gravity.CENTER_VERTICAL);
ll_bat.setId(111);
battext1 = bb1;
battext2 = bb4;
battext3 = bb7;
SBContent.removeView(ll_appsicon);
SBContent.removeView(ll_sinyal);
main_layout.addView(ll_bat, 1, kiri);
main_layout.addView(ll_appsicon,
RLParam.RIGHT_OF(ll_bat.getId()));
ll_appsicon.setGravity(Gravity.CENTER_VERTICAL);
main_layout.addView(ll_sinyal, 2, kanan);
SBContent.setPadding(2, 0, 2, 0);
tickerswitcher = (TextSwitcher) liparam.view
.findViewById(liparam.res.getIdentifier(
"tickerText", "id", S.SYSTEMUI));
ticker1 = (TextView) tickerswitcher.getChildAt(0);
ticker2 = (TextView) tickerswitcher.getChildAt(1);
jam.setPadding(4, 0, 4, 0);
ll_bat.setPadding(0, 0, 0, 0);
ll_sinyal.setPadding(0, 0, 0, 0);
ll_sinyal.setGravity(Gravity.CENTER_VERTICAL);
mtraffic = new TrafficMeter(liparam.view.getContext());
ll_sinyal.addView(mtraffic, 0);
}
});
}
private static void AturUlangLayout(int style) {
if(SBContent!=null)
SBContent.setBackground(DrawUtils.getDraw9(mParams,
"statusbar_background.9"));
pref = new XSharedPreferences("hello.dcsms.omzen");
pref.makeWorldReadable();
int size = 16;
int c = Color.WHITE;
try {
size = Integer.parseInt(pref.getString("JAM_SIZE", "16"));
} catch (Exception e) {
}
try {
c = pref.getInt("JAM_WARNA", 0xffffff);
} catch (Exception e) {
}
battext1.setTextSize(size);
battext2.setTextSize(size);
battext3.setTextSize(size);
ticker1.setTextSize(size);
ticker2.setTextSize(size);
ticker1.setTextColor(c);
ticker2.setTextColor(c);
DrawUtils.setTypeFace(battext1);
DrawUtils.setTypeFace(battext2);
DrawUtils.setTypeFace(battext3);
DrawUtils.setTypeFace(ticker1);
DrawUtils.setTypeFace(ticker2);
int w = 72;
try {
w = Integer.parseInt(pref.getString("ICON_MERGE_WIDTH", "72"));
} catch (Exception e) {
}
switch (style) {
case 0:
default:
ll_bat.setLayoutParams(kiri);
ll_appsicon.setLayoutParams(RLParam.RIGHT_OF(ll_bat.getId(), w));
ll_sinyal.setLayoutParams(kanan);
jam.setLayoutParams(tengah);
break;
case 1:
ll_bat.setLayoutParams(kanan);
ll_appsicon.setLayoutParams(RLParam.LEFT_OF(ll_bat.getId(), w));
ll_sinyal.setLayoutParams(kiri);
jam.setLayoutParams(tengah);
break;
case 2:
ll_bat.setLayoutParams(kanan);
ll_sinyal.setLayoutParams(RLParam.LEFT_OF(ll_bat.getId()));
ll_appsicon.setLayoutParams(RLParam.LEFT_OF(ll_sinyal.getId(), w));
jam.setLayoutParams(kiri);
break;
case 3:
ll_bat.setLayoutParams(kiri);
ll_sinyal.setLayoutParams(RLParam.RIGHT_OF(ll_bat.getId()));
ll_appsicon.setLayoutParams(RLParam.RIGHT_OF(ll_sinyal.getId(), w));
jam.setLayoutParams(kanan);
break;
case 4:
jam.setLayoutParams(kanan);
ll_bat.setLayoutParams(RLParam.LEFT_OF(jam.getId()));
ll_sinyal.setLayoutParams(RLParam.LEFT_OF(ll_bat.getId()));
ll_appsicon.setLayoutParams(RLParam.LEFT_OF(ll_sinyal.getId(), w));
break;
case 5:
jam.setLayoutParams(kiri);
ll_bat.setLayoutParams(RLParam.RIGHT_OF(jam.getId()));
ll_sinyal.setLayoutParams(RLParam.RIGHT_OF(ll_bat.getId()));
ll_appsicon.setLayoutParams(RLParam.RIGHT_OF(ll_sinyal.getId(), w));
break;
case 6:
jam.setLayoutParams(kanan);
ll_bat.setLayoutParams(RLParam.LEFT_OF(jam.getId()));
ll_sinyal.setLayoutParams(RLParam.LEFT_OF(ll_bat.getId()));
ll_appsicon.setLayoutParams(RLParam.KIRI(w));
break;
case 7:
jam.setLayoutParams(kiri);
ll_bat.setLayoutParams(RLParam.RIGHT_OF(jam.getId()));
ll_sinyal.setLayoutParams(RLParam.RIGHT_OF(ll_bat.getId()));
ll_appsicon.setLayoutParams(RLParam.KANAN(w));
break;
case 8:
ll_appsicon.setLayoutParams(RLParam.TENGAH(w));
jam.setLayoutParams(kiri);
ll_bat.setLayoutParams(kanan);
ll_sinyal.setLayoutParams(RLParam.LEFT_OF(ll_bat.getId()));
break;
case 9:
ll_appsicon.setLayoutParams(RLParam.TENGAH(w));
jam.setLayoutParams(kanan);
ll_bat.setLayoutParams(kiri);
ll_sinyal.setLayoutParams(RLParam.RIGHT_OF(ll_bat.getId()));
break;
case 10:
ll_appsicon.setLayoutParams(RLParam.TENGAH(w));
jam.setLayoutParams(kiri);
ll_bat.setLayoutParams(kanan);
ll_sinyal.setLayoutParams(RLParam.RIGHT_OF(jam.getId()));
break;
case 11:
ll_appsicon.setLayoutParams(RLParam.TENGAH(w));
jam.setLayoutParams(kanan);
ll_bat.setLayoutParams(kiri);
ll_sinyal.setLayoutParams(RLParam.LEFT_OF(jam.getId()));
break;
case 12:
ll_appsicon.setLayoutParams(RLParam.TENGAH(w));
jam.setLayoutParams(kiri);
ll_bat.setLayoutParams(RLParam.RIGHT_OF(jam.getId()));
ll_sinyal.setLayoutParams(kanan);
break;
case 13:
break;
case 14:
break;
case 15:
break;
case 16:
break;
}
main_layout.requestLayout();
S.log("ATURULANG : " + Integer.toString(style));
}
static TextView tv;
public static void initPaket(LoadPackageParam lpparam) {
final Class<?> phoneStatusBarClass = XposedHelpers.findClass(
ASUS_STATBAR, lpparam.classLoader);
XposedHelpers.findAndHookMethod(XposedHelpers.findClass(
"com.android.systemui.statusbar.policy.Clock",
lpparam.classLoader), "updateClock", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param)
throws Throwable {
super.beforeHookedMethod(param);
if (jamoriginal != null) {
S.log("JAM ORI Visibility :"
+ Integer.toString(jamoriginal.getVisibility()));
if (jamoriginal.getVisibility() == View.VISIBLE)
jamoriginal.setVisibility(View.GONE);
}
}
});
// XposedHelpers.findAndHookMethod(XposedHelpers.findClass(
// "com.android.systemui.statusbar.policy.Clock",
// lpparam.classLoader), "updateClock", new XC_MethodHook() {
// @Override
// protected void beforeHookedMethod(MethodHookParam param)
// throws Throwable {
//
// tv = (TextView) param.thisObject;
// updateTextJam();
//
// param.setResult(null);
// }
// });
XposedHelpers.findAndHookMethod(phoneStatusBarClass,
"makeStatusBarView", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param)
throws Throwable {
Object mPhoneStatusBar = param.thisObject;
Context mContext = (Context) XposedHelpers
.getObjectField(mPhoneStatusBar, "mContext");
IntentFilter filter = new IntentFilter();
filter.addAction(S.OMZEN);
filter.addAction(Intent.ACTION_BOOT_COMPLETED);
filter.addAction(S.ATURLAYOUT);
filter.addAction(Intent.ACTION_TIME_TICK);
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED);
filter.addAction("hello.dcsms.omzen.UPDATEJAM");
filter.addAction("hello.dcsms.omzen.UPDATESINYAL");
filter.addAction("hello.dcsms.omzen.UPDATENOTIFTEXT");
mContext.registerReceiver(receiver, filter);
pref = new XSharedPreferences("hello.dcsms.omzen");
pref.makeWorldReadable();
int style = pref.getInt("STATUSBAR_LAYOUT", 0);
AturUlangLayout(style);
Intent oo = new Intent();
oo.setAction(S.UPDATEJAM);
mContext.sendBroadcast(oo);
AturUlangInOut();
ModStatusbarNotif.UbahWarnaNOTIF();
}
});
}
public static String PKGNAME = "hello.dcsms.omzen";
protected static void updateTextJam() {
if (tv == null)
return;
pref = new XSharedPreferences(PKGNAME);
pref.makeWorldReadable();
Date now = new Date();
boolean uppercase = false;
String txt = pref.getString("FORMAT_JAM", "^E, HH:mm");
uppercase = txt.contains("^") ? true : false;
String ok = txt;
if (uppercase) {
ok = ok.replace("^", "");
}
SimpleDateFormat sdf = new SimpleDateFormat(ok, Locale.US);
String currentDateandTime = sdf.format(now);
if (uppercase) {
currentDateandTime = currentDateandTime.toUpperCase(Locale.US);
}
tv.setText(currentDateandTime);
int c = Color.WHITE;
try {
c = pref.getInt("JAM_WARNA", 0xffffff);
} catch (Exception e) {
}
tv.setTextColor(c);
tv.setShadowLayer(1, 1, 1, Color.BLACK);
}
public static void initZygot(XSharedPreferences pref2) {
pref = pref2;
}
}