// Path: apicompat/src/main/java/android/app/ActivityThread.java
// public class ActivityThread {
// 
//   public static IPackageManager getPackageManager() {
//     return null;
//   }
// 
//   public static ActivityThread systemMain() {
//     return null;
//   }
// 
//   public static ActivityThread currentActivityThread() {
//     return null;
//   }
// 
// 
//   public static Application currentApplication() {
//    return null;
//   }
// 
//   public static String currentProcessName() {
//     return null;
//   }
// 
//   public ContextImpl getSystemContext() {
//     return null;
//   }
// 
//   public void installSystemApplicationInfo(ApplicationInfo info, ClassLoader classLoader) {
// 
//   }
// 
// 
// 
// }
// 
// Path: opsxlib/src/main/java/com/zzzmode/appopsx/common/FLog.java
// public class FLog {
// 
//   public static boolean writeLog = false;
//   private static FileOutputStream fos;
//   private static AtomicInteger sBufferSize = new AtomicInteger();
//   private static AtomicInteger sErrorCount = new AtomicInteger();
// 
//   private static void openFile() {
//     try {
//       if (writeLog && fos == null && sErrorCount.get() < 5) {
//         File file = new File("/data/local/tmp/opsx.txt");
//         fos = new FileOutputStream(file);
// 
//         fos.write("\n\n\n--------------------".getBytes());
//         fos.write(new Date().toString().getBytes());
//         fos.write("\n\n".getBytes());
//         chown(file.getAbsolutePath(),2000,2000);
//         chmod(file.getAbsolutePath(),0755);
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//       sErrorCount.incrementAndGet();
//       fos = null;
//     }
//   }
// 
//   private static void chown(String path, int uid, int gid){
//     try {
//       if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
//         Os.chown(path,uid,gid);
//       }else {
//         Runtime.getRuntime().exec("chown "+uid+":"+gid+" "+path).destroy();
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
//   private static void chmod(String path,int mode){
//     try {
//       if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
//         Os.chmod(path, mode);
//       }else {
//         Runtime.getRuntime().exec("chmod "+mode+" "+path).destroy();
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
//   public static void log(String log) {
//     if (writeLog) {
//       System.out.println(log);
//     } else {
//       Log.e("appopsx", "Flog --> " + log);
//     }
// 
//     try {
//       if (writeLog) {
//         openFile();
//         if (fos != null) {
//           fos.write(log.getBytes());
//           fos.write("\n".getBytes());
// 
//           if (sBufferSize.incrementAndGet() > 10) {
//             fos.getFD().sync();
//             fos.flush();
//             sBufferSize.set(0);
//           }
//         }
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
//   public static void log(Throwable e) {
//     log(Log.getStackTraceString(e));
//   }
// 
//   public static void close() {
//     try {
//       if (writeLog && fos != null) {
//         fos.getFD().sync();
//         fos.close();
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
// }


import android.app.ActivityThread;
import android.content.Intent;
import com.zzzmode.appopsx.common.FLog;
package com.zzzmode.appopsx.server;


/**
 * Created by zl on 2017/10/12.
 */

class ApiCompat {

  static void sendBroadcast(Intent intent) {
    try {

      ActivityThread.currentApplication().sendBroadcast(intent);
    } catch (Exception e) {
      e.printStackTrace();
// Path: apicompat/src/main/java/android/app/ActivityThread.java
// public class ActivityThread {
// 
//   public static IPackageManager getPackageManager() {
//     return null;
//   }
// 
//   public static ActivityThread systemMain() {
//     return null;
//   }
// 
//   public static ActivityThread currentActivityThread() {
//     return null;
//   }
// 
// 
//   public static Application currentApplication() {
//    return null;
//   }
// 
//   public static String currentProcessName() {
//     return null;
//   }
// 
//   public ContextImpl getSystemContext() {
//     return null;
//   }
// 
//   public void installSystemApplicationInfo(ApplicationInfo info, ClassLoader classLoader) {
// 
//   }
// 
// 
// 
// }
// 
// Path: opsxlib/src/main/java/com/zzzmode/appopsx/common/FLog.java
// public class FLog {
// 
//   public static boolean writeLog = false;
//   private static FileOutputStream fos;
//   private static AtomicInteger sBufferSize = new AtomicInteger();
//   private static AtomicInteger sErrorCount = new AtomicInteger();
// 
//   private static void openFile() {
//     try {
//       if (writeLog && fos == null && sErrorCount.get() < 5) {
//         File file = new File("/data/local/tmp/opsx.txt");
//         fos = new FileOutputStream(file);
// 
//         fos.write("\n\n\n--------------------".getBytes());
//         fos.write(new Date().toString().getBytes());
//         fos.write("\n\n".getBytes());
//         chown(file.getAbsolutePath(),2000,2000);
//         chmod(file.getAbsolutePath(),0755);
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//       sErrorCount.incrementAndGet();
//       fos = null;
//     }
//   }
// 
//   private static void chown(String path, int uid, int gid){
//     try {
//       if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
//         Os.chown(path,uid,gid);
//       }else {
//         Runtime.getRuntime().exec("chown "+uid+":"+gid+" "+path).destroy();
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
//   private static void chmod(String path,int mode){
//     try {
//       if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
//         Os.chmod(path, mode);
//       }else {
//         Runtime.getRuntime().exec("chmod "+mode+" "+path).destroy();
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
//   public static void log(String log) {
//     if (writeLog) {
//       System.out.println(log);
//     } else {
//       Log.e("appopsx", "Flog --> " + log);
//     }
// 
//     try {
//       if (writeLog) {
//         openFile();
//         if (fos != null) {
//           fos.write(log.getBytes());
//           fos.write("\n".getBytes());
// 
//           if (sBufferSize.incrementAndGet() > 10) {
//             fos.getFD().sync();
//             fos.flush();
//             sBufferSize.set(0);
//           }
//         }
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
//   public static void log(Throwable e) {
//     log(Log.getStackTraceString(e));
//   }
// 
//   public static void close() {
//     try {
//       if (writeLog && fos != null) {
//         fos.getFD().sync();
//         fos.close();
//       }
//     } catch (Exception e) {
//       e.printStackTrace();
//     }
//   }
// 
// }


// Path: opsxlib/src/main/java/com/zzzmode/appopsx/server/ApiCompat.java
import android.app.ActivityThread;
import android.content.Intent;
import com.zzzmode.appopsx.common.FLog;

package com.zzzmode.appopsx.server;


/**
 * Created by zl on 2017/10/12.
 */

class ApiCompat {

  static void sendBroadcast(Intent intent) {
    try {

      ActivityThread.currentApplication().sendBroadcast(intent);
    } catch (Exception e) {
      e.printStackTrace();
      FLog.log(e);