|
|
|
@ -324,7 +324,19 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
Log.d(javaClass.simpleName, "AutosaveTimer started.")
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
loadMetaFromSharedPrefs()
|
|
|
|
|
|
|
|
|
|
if (!loadMetaFromSharedPrefs(applicationContext)) {
|
|
|
|
|
with(AlertDialog.Builder(this)){
|
|
|
|
|
setPositiveButton("Open", { dialog, id ->
|
|
|
|
|
openFile()
|
|
|
|
|
})
|
|
|
|
|
setNeutralButton("New", { dialog, id ->
|
|
|
|
|
selectFileForSaveAs()
|
|
|
|
|
})
|
|
|
|
|
show()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (intent.data !== null) {
|
|
|
|
|
readFile(intent.data!!)
|
|
|
|
|
Log.d(javaClass.simpleName,"Loading on resume from intent: ${thisFileUri}")
|
|
|
|
@ -386,7 +398,7 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
intent.putExtra(Intent.EXTRA_STREAM, null as Uri?)
|
|
|
|
|
} else if (mimeType == "text" && intent.data != null ) {
|
|
|
|
|
thisFileUri = uri
|
|
|
|
|
saveMetaToSharedPrefs()
|
|
|
|
|
saveMetaToSharedPrefs(applicationContext)
|
|
|
|
|
Log.d(javaClass.simpleName,"wanna start app with new txt")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -728,8 +740,6 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
startActivityForResult(intent, OPEN_FILE)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fun selectFileForSaveAs() {
|
|
|
|
|
val intent = Intent(Intent.ACTION_CREATE_DOCUMENT).apply {
|
|
|
|
|
addCategory(Intent.CATEGORY_OPENABLE)
|
|
|
|
@ -791,7 +801,7 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
Intent.FLAG_GRANT_READ_URI_PERMISSION and Intent.FLAG_GRANT_WRITE_URI_PERMISSION
|
|
|
|
|
)
|
|
|
|
|
thisFileUri = uri
|
|
|
|
|
saveMetaToSharedPrefs()
|
|
|
|
|
saveMetaToSharedPrefs(applicationContext)
|
|
|
|
|
if (metaData.metaData.get("url") == null) {
|
|
|
|
|
deleteVisible = false
|
|
|
|
|
invalidateOptionsMenu()
|
|
|
|
@ -929,7 +939,7 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
Toast.LENGTH_LONG
|
|
|
|
|
).show()
|
|
|
|
|
textFile.close()
|
|
|
|
|
saveMetaToSharedPrefs()
|
|
|
|
|
saveMetaToSharedPrefs(applicationContext)
|
|
|
|
|
Log.i(javaClass.simpleName, "file newly written")
|
|
|
|
|
} catch (e: Exception) {
|
|
|
|
|
Toast.makeText(
|
|
|
|
@ -1090,38 +1100,6 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun saveMetaToSharedPrefs() {
|
|
|
|
|
if (thisFileUri == null) return
|
|
|
|
|
Log.d(javaClass.simpleName, "saving to shared prefs cursor: ${metaData.cursor} in file: ${thisFileUri}")
|
|
|
|
|
getSharedPreferences("prefs", Context.MODE_PRIVATE)
|
|
|
|
|
.edit().apply {
|
|
|
|
|
putString("lastFile", thisFileUri.toString())
|
|
|
|
|
putString("cursor", metaData.cursor)
|
|
|
|
|
apply()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun loadMetaFromSharedPrefs(){
|
|
|
|
|
val prefs = getSharedPreferences("prefs", Context.MODE_PRIVATE)
|
|
|
|
|
val uriString = prefs.getString("lastFile", "noLastFile")
|
|
|
|
|
|
|
|
|
|
if (uriString == "noLastFile") {
|
|
|
|
|
with(AlertDialog.Builder(this)){
|
|
|
|
|
setPositiveButton("Open", { dialog, id ->
|
|
|
|
|
openFile()
|
|
|
|
|
})
|
|
|
|
|
setNeutralButton("New", { dialog, id ->
|
|
|
|
|
selectFileForSaveAs()
|
|
|
|
|
})
|
|
|
|
|
show()
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
thisFileUri = parse(uriString)
|
|
|
|
|
metaData.cursor = prefs.getString("cursor", "nocursor") ?: "{ line: 0, ch: 0, sticky: null }"
|
|
|
|
|
Log.i(javaClass.simpleName,"Loaded cursor: ${metaData.cursor}")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onPause() {
|
|
|
|
|
super.onPause()
|
|
|
|
|
try{
|
|
|
|
@ -1133,7 +1111,7 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
webView.evaluateJavascript("easyMDE.codemirror.doc.getCursor();") {
|
|
|
|
|
metaData.cursor=it
|
|
|
|
|
Log.i(javaClass.simpleName,"Cursor: $it")
|
|
|
|
|
saveMetaToSharedPrefs()
|
|
|
|
|
saveMetaToSharedPrefs(applicationContext)
|
|
|
|
|
}
|
|
|
|
|
Log.i(javaClass.simpleName, "\"onPause\" durchlaufen")
|
|
|
|
|
}
|
|
|
|
@ -1143,5 +1121,3 @@ class MainActivity : AppCompatActivity() {
|
|
|
|
|
Log.i(javaClass.simpleName, "\"onRestoreInstanceState\" durchlaufen")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|