package com.heyzap.sdk;
import android.content.Context;
import android.util.Log;
public class Logger {
static boolean ONLY_TEMP_LOG = false;
static boolean ENABLED = true;
public static void init(final Context context){
new Thread(new Runnable(){
@Override
public void run(){
ENABLED = ENABLED || Utils.packageIsInstalled("com.example.android.snake", context);
}
}).start();
}
public static void debug(Object s) {
if(!ENABLED) return;
if(s != null){
debug(s.toString());
} else {
debug("NULL");
}
}
public static void debug(String s){
if(!ENABLED) return;
if(s != null) {
Log.d("HeyzapSDK", s);
} else {
debug("NULL");
}
}
public static void warn(String s) {
Log.w("HeyzapSDK", s);
}
public static void trace(Object s){
if(!ENABLED) return;
StringBuilder builder = new StringBuilder();
builder.append(String.format("Stack Trace: %s\n", String.valueOf(s)));
StackTraceElement[] trace = new RuntimeException().getStackTrace();
for(int i=1; i<trace.length; i++){
StackTraceElement el = trace[i];
builder.append(String.format("\t%s:%d in %s.%s\n", el.getFileName(), el.getLineNumber(), el.getClassName(), el.getMethodName()));
}
Logger.log(builder.toString());
}
public static void log(Object s){ debug(s); }
public static void log(String s){ debug(s); }
public static void t(Object...os){
StringBuilder builder = new StringBuilder();
for(int i=0; i<os.length; i++){
builder.append(String.valueOf(os[i]));
if((i+1) < os.length){
builder.append(", ");
}
}
log(builder.toString());
}
public static void log(Object... os){
if(!ENABLED) return;
if(ONLY_TEMP_LOG) return;
if(os == null){
log("null arguments");
return;
}
StringBuilder builder = new StringBuilder();
for(int i=0; i<os.length; i++){
builder.append(String.valueOf(os[i]));
if((i+1) < os.length){
builder.append(", ");
}
}
log(builder.toString());
}
public static void trace(){ trace(""); }
}