@@ -142,18 +142,20 @@ class LogViewerActivity : AppCompatActivity() {
142142 finish()
143143 true
144144 }
145+
145146 R .id.save_log -> {
146147 saveButton?.isEnabled = false
147148 lifecycleScope.launch { saveLog() }
148149 true
149150 }
151+
150152 else -> super .onOptionsItemSelected(item)
151153 }
152154 }
153155
154156 private val downloadsFileSaver = DownloadsFileSaver (this )
155157
156- private suspend fun rawLogBytes () : ByteArray {
158+ private suspend fun rawLogBytes (): ByteArray {
157159 val builder = StringBuilder ()
158160 withContext(Dispatchers .IO ) {
159161 for (i in 0 until rawLogLines.size()) {
@@ -179,12 +181,14 @@ class LogViewerActivity : AppCompatActivity() {
179181 saveButton?.isEnabled = true
180182 if (outputFile == null )
181183 return
182- Snackbar .make(findViewById(android.R .id.content),
183- if (exception == null ) getString(R .string.log_export_success, outputFile?.fileName)
184- else getString(R .string.log_export_error, ErrorMessages [exception]),
185- if (exception == null ) Snackbar .LENGTH_SHORT else Snackbar .LENGTH_LONG )
186- .setAnchorView(binding.shareFab)
187- .show()
184+ Snackbar .make(
185+ findViewById(android.R .id.content),
186+ if (exception == null ) getString(R .string.log_export_success, outputFile?.fileName)
187+ else getString(R .string.log_export_error, ErrorMessages [exception]),
188+ if (exception == null ) Snackbar .LENGTH_SHORT else Snackbar .LENGTH_LONG
189+ )
190+ .setAnchorView(binding.shareFab)
191+ .show()
188192 }
189193
190194 private suspend fun streamingLog () = withContext(Dispatchers .IO ) {
@@ -287,7 +291,8 @@ class LogViewerActivity : AppCompatActivity() {
287291 *
288292 * <pre>05-26 11:02:36.886 5689 5689 D AndroidRuntime: CheckJNI is OFF.</pre>
289293 */
290- private val THREADTIME_LINE : Pattern = Pattern .compile(" ^(\\ d{2}-\\ d{2} \\ d{2}:\\ d{2}:\\ d{2}.\\ d{3})(?:\\ s+[0-9A-Za-z]+)?\\ s+(\\ d+)\\ s+(\\ d+)\\ s+([A-Z])\\ s+(.+?)\\ s*: (.*)$" )
294+ private val THREADTIME_LINE : Pattern =
295+ Pattern .compile(" ^(\\ d{2}-\\ d{2} \\ d{2}:\\ d{2}:\\ d{2}.\\ d{3})(?:\\ s+[0-9A-Za-z]+)?\\ s+(\\ d+)\\ s+(\\ d+)\\ s+([A-Z])\\ s+(.+?)\\ s*: (.*)$" )
291296 private val LOGS : MutableMap <String , ByteArray > = ConcurrentHashMap ()
292297 private const val TAG = " WireGuard/LogViewerActivity"
293298 }
@@ -310,7 +315,7 @@ class LogViewerActivity : AppCompatActivity() {
310315
311316 override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ): ViewHolder {
312317 val view = LayoutInflater .from(parent.context)
313- .inflate(R .layout.log_viewer_entry, parent, false )
318+ .inflate(R .layout.log_viewer_entry, parent, false )
314319 return ViewHolder (view)
315320 }
316321
@@ -321,8 +326,10 @@ class LogViewerActivity : AppCompatActivity() {
321326 else
322327 SpannableString (" ${line.tag} : ${line.msg} " ).apply {
323328 setSpan(StyleSpan (BOLD ), 0 , " ${line.tag} :" .length, Spannable .SPAN_EXCLUSIVE_EXCLUSIVE )
324- setSpan(ForegroundColorSpan (levelToColor(line.level)),
325- 0 , " ${line.tag} :" .length, Spannable .SPAN_EXCLUSIVE_EXCLUSIVE )
329+ setSpan(
330+ ForegroundColorSpan (levelToColor(line.level)),
331+ 0 , " ${line.tag} :" .length, Spannable .SPAN_EXCLUSIVE_EXCLUSIVE
332+ )
326333 }
327334 holder.layout.apply {
328335 findViewById<MaterialTextView >(R .id.log_date).text = line.time.toString()
@@ -344,11 +351,11 @@ class LogViewerActivity : AppCompatActivity() {
344351 override fun insert (uri : Uri , values : ContentValues ? ): Uri ? = null
345352
346353 override fun query (uri : Uri , projection : Array <out String >? , selection : String? , selectionArgs : Array <out String >? , sortOrder : String? ): Cursor ? =
347- logForUri(uri)?.let {
348- val m = MatrixCursor (arrayOf(android.provider.OpenableColumns .DISPLAY_NAME , android.provider.OpenableColumns .SIZE ), 1 )
349- m.addRow(arrayOf(" wireguard-log.txt" , it.size.toLong()))
350- m
351- }
354+ logForUri(uri)?.let {
355+ val m = MatrixCursor (arrayOf(android.provider.OpenableColumns .DISPLAY_NAME , android.provider.OpenableColumns .SIZE ), 1 )
356+ m.addRow(arrayOf(" wireguard-log.txt" , it.size.toLong()))
357+ m
358+ }
352359
353360 override fun onCreate (): Boolean = true
354361
@@ -358,7 +365,8 @@ class LogViewerActivity : AppCompatActivity() {
358365
359366 override fun getType (uri : Uri ): String? = logForUri(uri)?.let { " text/plain" }
360367
361- override fun getStreamTypes (uri : Uri , mimeTypeFilter : String ): Array <String >? = getType(uri)?.let { if (compareMimeTypes(it, mimeTypeFilter)) arrayOf(it) else null }
368+ override fun getStreamTypes (uri : Uri , mimeTypeFilter : String ): Array <String >? =
369+ getType(uri)?.let { if (compareMimeTypes(it, mimeTypeFilter)) arrayOf(it) else null }
362370
363371 override fun openFile (uri : Uri , mode : String ): ParcelFileDescriptor ? {
364372 if (mode != " r" ) return null
0 commit comments