package kz.virtex.htc.tweaker.mods;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
import java.text.SimpleDateFormat;
import java.util.Date;
import kz.virtex.htc.tweaker.Const;
import kz.virtex.htc.tweaker.XMain;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Typeface;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.widget.RelativeLayout;
import android.widget.TextView;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
@SuppressLint("SimpleDateFormat")
public class Camera
{
public static void hookCameraPrefix(final LoadPackageParam paramLoadPackageParam, String packageName, final String format)
{
XposedHelpers.findAndHookConstructor(packageName + ".io.DCFPath", paramLoadPackageParam.classLoader, "java.lang.String", "java.lang.String", packageName + ".io.FileCounter", packageName+".io.FileCounter", new XC_MethodHook()
{
protected void beforeHookedMethod(MethodHookParam param) throws Throwable
{
String file = (String) param.args[1];
String[] tokens = file.split("\\.(?=[^\\.]+$)");
String ext = tokens[1];
String name = tokens[0];
String date = new SimpleDateFormat(format).format(new Date());
int posVal = Integer.parseInt(XMain.pref.getString(Const.TWEAK_PHOTO_PREFIX_POSITION, "0"));
if (posVal == 0) {
param.args[1] = date + "_" + name + "." + ext;
} else {
param.args[1] = name + "_" + date + "." + ext;
}
}
});
}
public static void hookCameraActivity(final LoadPackageParam paramLoadPackageParam)
{
findAndHookMethod("com.android.camera.HTCCamera", paramLoadPackageParam.classLoader, "onCreate", "android.os.Bundle", new XC_MethodHook()
{
@SuppressWarnings("unused")
protected void afterHookedMethod(MethodHookParam param) throws Throwable
{
Context context = (Context) XposedHelpers.callMethod(param.thisObject, "getApplicationContext");
Window window = (Window) XposedHelpers.callMethod(param.thisObject, "getWindow");
View view = window.getDecorView().getRootView();
TextView widget = new TextView(context);
widget.setTextSize(TypedValue.COMPLEX_UNIT_SP, 48.0F);
widget.setTextColor(Color.parseColor("#ff0000"));
widget.setTypeface(Typeface.create("sans-serif-condensed", Typeface.BOLD));
widget.setGravity(Gravity.CENTER);
widget.setText("Oba NA! Ugol Show!");
int resID = context.getResources().getIdentifier("camera_layout", "id", context.getPackageName());
XposedBridge.log("camera_layout: " + resID);
RelativeLayout layout = (RelativeLayout) view.findViewById(resID);
// layout.addView(widget);
}
});
}
}