Skip to content

Commit 35db726

Browse files
authored
Allow disable File Logger (#20)
* Allow disable File Logger * Remove share persisted log if file logger is disabled
1 parent 24ee17b commit 35db726

File tree

3 files changed

+25
-10
lines changed

3 files changed

+25
-10
lines changed

library/src/enabled/java/com/telefonica/androidlogger/domain/AppLogger.kt

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,17 @@ import java.util.concurrent.Executors
1313
internal var appLoggerBLInstance: AppLoggerBL? = null
1414

1515
@JvmOverloads
16-
fun initAppLogger(context: Context, logCategories: List<LogCategory> = emptyList()) {
16+
fun initAppLogger(
17+
context: Context,
18+
logCategories: List<LogCategory> = emptyList(),
19+
logToDisk: Boolean = true
20+
) {
1721
appLoggerBLInstance = AppLoggerBL(
18-
fileLogger = AppFileLogger(
19-
appContext = context,
20-
executor = Executor(Executors.newSingleThreadExecutor())),
22+
fileLogger = if (logToDisk) {
23+
AppFileLogger(context,Executor(Executors.newSingleThreadExecutor()))
24+
} else {
25+
null
26+
},
2127
consoleLogger = AppConsoleLogger()
2228
).apply {
2329
init(context, logCategories)
@@ -35,6 +41,9 @@ internal fun getLogs(): LiveData<List<LogEntry>> =
3541
internal fun getCategories(): List<LogCategory> =
3642
appLoggerBLInstance?.categories ?: emptyList()
3743

44+
internal fun arePersistedLogsEnabled() : Boolean =
45+
appLoggerBLInstance?.arePersistedLogsEnabled() ?: false
46+
3847
internal fun getPersistedLogs(callback: TaskCallback<Uri>) {
3948
appLoggerBLInstance?.getPersistedLogs(callback)
4049
}

library/src/enabled/java/com/telefonica/androidlogger/domain/AppLoggerBL.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import java.util.*
1212
import kotlin.collections.ArrayList
1313

1414
internal open class AppLoggerBL(
15-
private val fileLogger: AppFileLogger,
15+
private val fileLogger: AppFileLogger?,
1616
private val consoleLogger: AppConsoleLogger
1717
) {
1818
private val logs: LinkedList<LogEntry> = LinkedList()
@@ -32,7 +32,7 @@ internal open class AppLoggerBL(
3232
}
3333
}.groupBy({ it.first }, { it.second })
3434
logsData.value = emptyList()
35-
fileLogger.init()
35+
fileLogger?.init()
3636
}
3737

3838
open fun log(@LogPriority priority: Int, tag: String, message: String, throwable: Throwable?) {
@@ -47,19 +47,22 @@ internal open class AppLoggerBL(
4747
message = messageToLog
4848
)
4949
)
50-
fileLogger.log(priority, tag, messageToLog)
50+
fileLogger?.log(priority, tag, messageToLog)
5151
consoleLogger.log(priority, tag, messageToLog)
5252
}
5353

5454
open fun getLogs(): LiveData<List<LogEntry>> =
5555
logsData
5656

57+
open fun arePersistedLogsEnabled(): Boolean =
58+
fileLogger != null
59+
5760
open fun getPersistedLogs(callback: TaskCallback<Uri>) {
58-
fileLogger.getReport(callback)
61+
fileLogger?.getReport(callback)
5962
}
6063

6164
fun storeVisibleLogs(visibleLogs: String, callback: TaskCallback<Uri>) {
62-
fileLogger.storeVisibleLogs(visibleLogs, callback)
65+
fileLogger?.storeVisibleLogs(visibleLogs, callback)
6366
}
6467

6568
private fun addLog(logEntry: LogEntry) {

library/src/enabled/java/com/telefonica/androidlogger/ui/AppLoggerActivity.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import com.google.android.material.chip.Chip
3232
import com.google.android.material.chip.ChipGroup
3333
import com.telefonica.androidlogger.R
3434
import com.telefonica.androidlogger.domain.LogCategory
35+
import com.telefonica.androidlogger.domain.arePersistedLogsEnabled
3536
import com.telefonica.androidlogger.io.executor.TaskCallback
3637
import com.telefonica.androidlogger.ui.adapter.LogListAdapter
3738
import com.telefonica.androidlogger.ui.viewmodel.AppLoggerViewModel
@@ -79,7 +80,9 @@ class AppLoggerActivity : AppCompatActivity() {
7980

8081
override fun onCreateOptionsMenu(menu: Menu): Boolean {
8182
menuInflater.inflate(R.menu.menu_app_logger, menu)
82-
83+
if (!arePersistedLogsEnabled()) {
84+
menu.removeItem(R.id.action_share_all)
85+
}
8386
searchView = (menu.findItem(R.id.action_search).actionView as SearchView).apply {
8487
val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager
8588
setSearchableInfo(searchManager.getSearchableInfo(componentName))

0 commit comments

Comments
 (0)