Exemple #1
0
  public static void log(XHook hook, int priority, String msg) {
    // Check if logging enabled
    int uid = Process.myUid();
    if (!mLogDetermined && uid > 0) {
      mLogDetermined = true;
      try {
        if (uid == Process.SYSTEM_UID)
          mLog = PrivacyService.getSettingBool(0, PrivacyManager.cSettingLog, false);
        else mLog = PrivacyManager.getSettingBool(0, PrivacyManager.cSettingLog, false, true);
      } catch (Throwable ignored) {
        mLog = false;
      }
    }

    // Log if enabled
    if (priority != Log.DEBUG && (priority == Log.INFO ? mLog : true))
      if (hook == null) Log.println(priority, "XPrivacy", msg);
      else
        Log.println(priority, String.format("XPrivacy/%s", hook.getClass().getSimpleName()), msg);

    // Report to service
    if (Process.myUid() > 0 && priority == Log.ERROR)
      if (Process.myUid() == Process.SYSTEM_UID) PrivacyService.reportErrorInternal(msg);
      else
        try {
          IPrivacyService client = PrivacyService.getClient();
          if (client != null) client.reportError(msg);
        } catch (RemoteException ignored) {
        }
  }