Skip to content

Commit

Permalink
refactor: Use Throwable#stackTraceToString instead of utility method
Browse files Browse the repository at this point in the history
  • Loading branch information
omeraydindev committed Nov 8, 2021
1 parent 1698ec4 commit 3c68a3e
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 34 deletions.
3 changes: 1 addition & 2 deletions app/src/main/kotlin/ma/dexter/tasks/Smali2JavaTask.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import ma.dexter.tools.decompilers.BaseDecompiler
import ma.dexter.tools.decompilers.BaseDecompiler.Companion.decompile
import ma.dexter.tools.decompilers.BaseDexDecompiler
import ma.dexter.tools.decompilers.BaseJarDecompiler
import ma.dexter.util.getStackTraceString
import java.io.File

class Smali2JavaTask(
Expand Down Expand Up @@ -73,7 +72,7 @@ class Smali2JavaTask(
} catch (e: Throwable) {
return Result.failure(
decompiler.getName(),
"Couldn't decompile $className, logs:\n\n${getStackTraceString(e)}"
"Couldn't decompile $className, logs:\n\n${e.stackTraceToString()}"
)
}

Expand Down
3 changes: 1 addition & 2 deletions app/src/main/kotlin/ma/dexter/tasks/Util.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import android.os.Handler
import android.os.Looper
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import ma.dexter.ui.dialog.ProgressDialog
import ma.dexter.util.getStackTraceString
import java.util.concurrent.Executors

fun <T> ITask<T>.runWithDialog(
Expand All @@ -27,7 +26,7 @@ fun <T> ITask<T>.runWithDialog(
is Task -> run()
}
} catch (e: Throwable) {
Result.failure("Exception", getStackTraceString(e))
Result.failure("Exception", e.stackTraceToString())
}

handler.post {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package ma.dexter.tools.d2j
import com.googlecode.d2j.Method
import com.googlecode.d2j.dex.DexExceptionHandler
import com.googlecode.d2j.node.DexMethodNode
import ma.dexter.util.getStackTraceString
import org.objectweb.asm.MethodVisitor
import org.objectweb.asm.Opcodes
import java.io.PrintWriter
Expand All @@ -27,15 +26,15 @@ class D2JExceptionHandler : DexExceptionHandler {
return buildString {
append("File exceptions:\n")
fileExceptions.forEach {
append(getStackTraceString(it))
append(it.stackTraceToString())
append("\n")
}

append("\n")

append("Method exceptions:\n")
exceptionMap.forEach {
append(getStackTraceString(it.value))
append(it.value.stackTraceToString())
append("\n")
}
}
Expand Down
27 changes: 0 additions & 27 deletions app/src/main/kotlin/ma/dexter/util/LogUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ package ma.dexter.util

import java.io.OutputStream
import java.io.PrintStream
import java.io.PrintWriter
import java.io.StringWriter
import java.net.UnknownHostException

/**
* Listens for System.out/err logs and invokes the callback
Expand Down Expand Up @@ -35,27 +32,3 @@ fun listenForSystemLogs(
System.setOut(outStream)
if (errLogsEnabled) System.setErr(outStream)
}

/**
* Copied from `Log.getStackTraceString`
* (to not depend on Android-specific classes as much as possible.)
*/
fun getStackTraceString(tr: Throwable?): String {
if (tr == null) {
return ""
}

var t: Throwable? = tr
while (t != null) {
if (t is UnknownHostException) {
return ""
}
t = t.cause
}

val sw = StringWriter()
val pw = PrintWriter(sw)
tr.printStackTrace(pw)
pw.flush()
return sw.toString()
}

0 comments on commit 3c68a3e

Please sign in to comment.