// Path: src/org/emergent/android/weave/util/Dbg.java
// public class Dbg {
// 
//   static final String LOG_TAG = "EmergentWeave";
// 
//   public static final String TAG = LOG_TAG;
// 
//   @SuppressWarnings("ConstantConditions")
//   public static class Log {
// 
//     private static final int SHAMAN_LOG_LEVEL = android.util.Log.INFO;
// 
//     public static void v(String tag, String msg) {
//       if (android.util.Log.VERBOSE >= SHAMAN_LOG_LEVEL) android.util.Log.v(tag, msg);
//     }
// 
//     public static void d(String tag, String msg) {
//       if (android.util.Log.DEBUG >= SHAMAN_LOG_LEVEL) android.util.Log.d(tag, msg);
//     }
// 
//     public static void d(String tag, String msg, Throwable tr) {
//       if (android.util.Log.DEBUG >= SHAMAN_LOG_LEVEL) android.util.Log.d(tag, msg, tr);
//     }
// 
//     public static void i(String tag, String msg) {
//       if (android.util.Log.INFO >= SHAMAN_LOG_LEVEL) android.util.Log.i(tag, msg);
//     }
// 
//     public static void w(String tag, String msg) {
//       if (android.util.Log.WARN >= SHAMAN_LOG_LEVEL) android.util.Log.w(tag, msg);
//     }
// 
//     public static void w(String tag, Throwable tr) {
//       if (android.util.Log.WARN >= SHAMAN_LOG_LEVEL) android.util.Log.w(tag, tr);
//     }
// 
//     public static void w(String tag, String msg, Throwable tr) {
//       if (android.util.Log.WARN >= SHAMAN_LOG_LEVEL) android.util.Log.w(tag, msg, tr);
//     }
// 
//     public static void e(String tag, String msg) {
//       if (android.util.Log.ERROR >= SHAMAN_LOG_LEVEL) android.util.Log.e(tag, msg);
//     }
// 
//     public static void e(String tag, String msg, Throwable tr) {
//       if (android.util.Log.ERROR >= SHAMAN_LOG_LEVEL) android.util.Log.e(tag, msg, tr);
//     }
//   }
// 
// //  public static String getTag(Class clazz) {
// //    return LOG_TAG;
// //  }
// //
// //  public static void logw(String msg) {
// //    Log.w(LOG_TAG, msg);
// //  }
// //
// //  public static void logw(String pattern, Object... args) {
// //    String msg = String.format(pattern, args);
// //    Log.w(LOG_TAG, msg);
// //  }
// //
// //  public static void trace(Object o, Class aClass, String methodName) {
// //    trace(o, aClass, methodName, null);
// //  }
// //
// //  public static void trace(Object o, Class aClass, String methodName, String s) {
// //    String cName = (o != null) ? o.getClass().getSimpleName() : aClass.getSimpleName();
// //    if (s == null)
// //      s = "";
// //    String msg = String.format("trace: (%s.%s)%s", cName, methodName, s);
// //    Log.w(TAG, msg);
// //  }
// //
// //  private static void println(String msg) {
// //    Log.i(LOG_TAG, msg);
// //  }
// //
// //  private static void printf(String pattern, Object... args) {
// //    String msg = String.format(pattern, args);
// //    Log.i(LOG_TAG, msg);
// //  }
// //
// //  private static void error(Throwable e) {
// //    Log.e(LOG_TAG, e.getMessage(), e);
// //  }
// //
// //  private static void error(String message, Throwable e) {
// //    Log.e(LOG_TAG, message, e);
// //  }
// }


import android.accounts.AccountManager;
import org.emergent.android.weave.util.Dbg;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicLong;

  private static final Properties sm_runtimeProps = new Properties();

  private static final AtomicLong sm_runtimePropsLastReload = new AtomicLong(0);
  public static final boolean MENUITEM_HOME_DISABLED = ApiCompatUtil.IS_HONEYCOMB;


  public static Properties getRuntimeDefaults() {
    long lastReload = sm_runtimePropsLastReload.get();
    if (RUNTIME_PROPS_FILE.isFile()) {
      long lastFileMod = RUNTIME_PROPS_FILE.lastModified();
      if (lastFileMod > lastReload) {
        if (sm_runtimePropsLastReload.compareAndSet(lastReload, lastFileMod)) {
          InputStream is = null;
          try {
            is = new BufferedInputStream(new FileInputStream(RUNTIME_PROPS_FILE));
            sm_runtimeProps.clear();
            sm_runtimeProps.load(is);
          } catch (Exception ignored) {
          } finally {
            if (is != null) try { is.close(); } catch (Exception ignored) { }
          }
        }
      }
    }
    return sm_runtimeProps;
  }

  public static interface Implementable {

// Path: src/org/emergent/android/weave/util/Dbg.java
// public class Dbg {
// 
//   static final String LOG_TAG = "EmergentWeave";
// 
//   public static final String TAG = LOG_TAG;
// 
//   @SuppressWarnings("ConstantConditions")
//   public static class Log {
// 
//     private static final int SHAMAN_LOG_LEVEL = android.util.Log.INFO;
// 
//     public static void v(String tag, String msg) {
//       if (android.util.Log.VERBOSE >= SHAMAN_LOG_LEVEL) android.util.Log.v(tag, msg);
//     }
// 
//     public static void d(String tag, String msg) {
//       if (android.util.Log.DEBUG >= SHAMAN_LOG_LEVEL) android.util.Log.d(tag, msg);
//     }
// 
//     public static void d(String tag, String msg, Throwable tr) {
//       if (android.util.Log.DEBUG >= SHAMAN_LOG_LEVEL) android.util.Log.d(tag, msg, tr);
//     }
// 
//     public static void i(String tag, String msg) {
//       if (android.util.Log.INFO >= SHAMAN_LOG_LEVEL) android.util.Log.i(tag, msg);
//     }
// 
//     public static void w(String tag, String msg) {
//       if (android.util.Log.WARN >= SHAMAN_LOG_LEVEL) android.util.Log.w(tag, msg);
//     }
// 
//     public static void w(String tag, Throwable tr) {
//       if (android.util.Log.WARN >= SHAMAN_LOG_LEVEL) android.util.Log.w(tag, tr);
//     }
// 
//     public static void w(String tag, String msg, Throwable tr) {
//       if (android.util.Log.WARN >= SHAMAN_LOG_LEVEL) android.util.Log.w(tag, msg, tr);
//     }
// 
//     public static void e(String tag, String msg) {
//       if (android.util.Log.ERROR >= SHAMAN_LOG_LEVEL) android.util.Log.e(tag, msg);
//     }
// 
//     public static void e(String tag, String msg, Throwable tr) {
//       if (android.util.Log.ERROR >= SHAMAN_LOG_LEVEL) android.util.Log.e(tag, msg, tr);
//     }
//   }
// 
// //  public static String getTag(Class clazz) {
// //    return LOG_TAG;
// //  }
// //
// //  public static void logw(String msg) {
// //    Log.w(LOG_TAG, msg);
// //  }
// //
// //  public static void logw(String pattern, Object... args) {
// //    String msg = String.format(pattern, args);
// //    Log.w(LOG_TAG, msg);
// //  }
// //
// //  public static void trace(Object o, Class aClass, String methodName) {
// //    trace(o, aClass, methodName, null);
// //  }
// //
// //  public static void trace(Object o, Class aClass, String methodName, String s) {
// //    String cName = (o != null) ? o.getClass().getSimpleName() : aClass.getSimpleName();
// //    if (s == null)
// //      s = "";
// //    String msg = String.format("trace: (%s.%s)%s", cName, methodName, s);
// //    Log.w(TAG, msg);
// //  }
// //
// //  private static void println(String msg) {
// //    Log.i(LOG_TAG, msg);
// //  }
// //
// //  private static void printf(String pattern, Object... args) {
// //    String msg = String.format(pattern, args);
// //    Log.i(LOG_TAG, msg);
// //  }
// //
// //  private static void error(Throwable e) {
// //    Log.e(LOG_TAG, e.getMessage(), e);
// //  }
// //
// //  private static void error(String message, Throwable e) {
// //    Log.e(LOG_TAG, message, e);
// //  }
// }


// Path: src/org/emergent/android/weave/Constants.java
import android.accounts.AccountManager;
import org.emergent.android.weave.util.Dbg;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicLong;


  private static final Properties sm_runtimeProps = new Properties();

  private static final AtomicLong sm_runtimePropsLastReload = new AtomicLong(0);
  public static final boolean MENUITEM_HOME_DISABLED = ApiCompatUtil.IS_HONEYCOMB;


  public static Properties getRuntimeDefaults() {
    long lastReload = sm_runtimePropsLastReload.get();
    if (RUNTIME_PROPS_FILE.isFile()) {
      long lastFileMod = RUNTIME_PROPS_FILE.lastModified();
      if (lastFileMod > lastReload) {
        if (sm_runtimePropsLastReload.compareAndSet(lastReload, lastFileMod)) {
          InputStream is = null;
          try {
            is = new BufferedInputStream(new FileInputStream(RUNTIME_PROPS_FILE));
            sm_runtimeProps.clear();
            sm_runtimeProps.load(is);
          } catch (Exception ignored) {
          } finally {
            if (is != null) try { is.close(); } catch (Exception ignored) { }
          }
        }
      }
    }
    return sm_runtimeProps;
  }

  public static interface Implementable {

    public static final String TAG = Dbg.TAG;