Used Scoped Storage

This commit is contained in:
s-ayush2903 2020-06-29 13:20:17 +05:30
parent 00e41f39aa
commit e4506588e3
No known key found for this signature in database
GPG Key ID: B4341DD08B2371CB
4 changed files with 24 additions and 11 deletions

View File

@ -74,16 +74,15 @@ abstract class CoreApp : Application() {
override fun onCreate() {
super.onCreate()
instance = this
fileLogger = FileLogger()
coreComponent = DaggerCoreComponent.builder()
.context(this)
.build()
AndroidThreeTen.init(this)
fileLogger.writeLogFile(this)
coreComponent.inject(this)
kiwixDatabase.forceMigration()
downloadMonitor.init()
nightModeConfig.init()
fileLogger.writeLogFile(this)
configureStrictMode()
}

View File

@ -23,6 +23,7 @@ import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.CheckBox;
import androidx.core.content.ContextCompat;
@ -46,6 +47,7 @@ import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BooksOnDis
import org.kiwix.kiwixmobile.zim_manager.MountInfo;
import org.kiwix.kiwixmobile.zim_manager.MountPointProducer;
import static androidx.core.content.FileProvider.getUriForFile;
import static org.kiwix.kiwixmobile.core.utils.LanguageUtils.getCurrentLocale;
public class ErrorActivity extends BaseActivity {
@ -94,7 +96,6 @@ public class ErrorActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_kiwix_error);
fileLogger = new FileLogger();
Intent callingIntent = getIntent();
Bundle extras = callingIntent.getExtras();
@ -114,10 +115,12 @@ public class ErrorActivity extends BaseActivity {
String body = getBody();
if (allowLogsCheckbox.isChecked()) {
File file = fileLogger.writeLogFile(this);
Uri path = FileProvider.getUriForFile(this,
getApplicationContext().getPackageName() + ".fileProvider", file);
Log.d("SEARCHING.....", "onCreate: Searching @ "+ getPackageName()+ " .fileProvider"+ file);
Uri path = getUriForFile(this,
getPackageName() + ".fileProvider", file);
emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
emailIntent.putExtra(Intent.EXTRA_STREAM, path);
}

View File

@ -38,26 +38,34 @@ class FileLogger @Inject constructor() {
Environment.MEDIA_MOUNTED == Environment.getExternalStorageState()
fun writeLogFile(context: Context): File {
val logFile = File(context.filesDir, fileName)
Log.d("KIWIX", "Writing all logs into [" + logFile.path + "]")
if (logFile.exists() && logFile.isFile) {
// this creates a new folder in private storage with name: logs
val logDir = File(context.filesDir, "logs")
val logFile = File(logDir, fileName)
Log.d("KIWIX", "Writing all logs into [" + logDir.path + "]")
if (!logDir.exists()) {
logDir.mkdir()
}
if (logDir.exists() && logFile.isFile) {
Log.d(TAG, "writeLogFile: Deleting preExistingFile")
logFile.delete()
}
// clear the previous logcat and then write the new one to the file
try {
logFile.createNewFile()
logDir.createNewFile()
Runtime.getRuntime().exec("logcat -c")
Runtime.getRuntime().exec("logcat -f $logFile -s kiwix")
Log.d(TAG, "writeLogFile: Log report written Successfully!")
Log.d(TAG, "writeLogFile: Authored report to $logFile")
} catch (e: IOException) {
Log.e("KIWIX", "Error while writing logcat.txt", e)
Log.e("KIWIX", "Error while writing $fileName! ", e)
}
return logFile
}
companion object {
private const val TAG: String = "FileLogger"
private const val TAG = "FileLogger"
private val fileName = "logs" + currentTimeMillis() + ".txt"
}
}

View File

@ -6,4 +6,7 @@
<root-path
name="external_files"
path="/storage/" />
<files-path
name="debug"
path="logs/" />
</paths>