There are some app that are made to target users whom lack data connections. Such situation means reports will be rarely delivered successfully, as report delivery require a data connection while the crash/exception-logging is happening or when the app is relaunching.
A method to dynamically reattempt pending reports will be great. However ErrorReporter's checkReportsOnApplicationStart has been deprecated for a while.
Is there a good reason for ACRA not to have a public function reattemptUnsentReport?
If so, can one branch off and use the below code without any problems?
// code is borrowed from init public static void reattemptUnsentReport(){ final boolean senderServiceProcess = isACRASenderServiceProcess(); ACRAConfiguration config = configProxy; if (isACRASenderServiceProcess()) { final ApplicationStartupProcessor startupProcessor = new ApplicationStartupProcessor(mApplication, config); if (config.deleteOldUnsentReportsOnApplicationStart()) { startupProcessor.deleteUnsentReportsFromOldAppVersion(); } if (config.deleteUnapprovedReportsOnApplicationStart()) { startupProcessor.deleteAllUnapprovedReportsBarOne(); } if (enableAcra) { startupProcessor.sendApprovedReports(); } }
if (!isACRASenderServiceProcess()) {