mirror of
https://github.com/SimpleMobileTools/Simple-Notes.git
synced 2025-06-05 17:00:23 +02:00
update SDK to 27 and Commons
This commit is contained in:
@ -1,10 +1,7 @@
|
||||
package com.simplemobiletools.notes.activities
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Bundle
|
||||
import android.support.v4.app.ActivityCompat
|
||||
import android.support.v4.view.ViewPager
|
||||
import android.text.method.ArrowKeyMovementMethod
|
||||
import android.text.method.LinkMovementMethod
|
||||
@ -16,6 +13,7 @@ import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
|
||||
import com.simplemobiletools.commons.helpers.LICENSE_RTL
|
||||
import com.simplemobiletools.commons.helpers.LICENSE_STETHO
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_STORAGE
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.commons.models.Release
|
||||
import com.simplemobiletools.commons.views.MyEditText
|
||||
@ -24,6 +22,7 @@ import com.simplemobiletools.notes.R
|
||||
import com.simplemobiletools.notes.adapters.NotesPagerAdapter
|
||||
import com.simplemobiletools.notes.dialogs.*
|
||||
import com.simplemobiletools.notes.extensions.config
|
||||
import com.simplemobiletools.notes.extensions.dbHelper
|
||||
import com.simplemobiletools.notes.extensions.getTextSize
|
||||
import com.simplemobiletools.notes.extensions.updateWidget
|
||||
import com.simplemobiletools.notes.helpers.DBHelper
|
||||
@ -37,11 +36,6 @@ import java.io.File
|
||||
import java.nio.charset.Charset
|
||||
|
||||
class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
private val STORAGE_OPEN_FILE = 1
|
||||
private val STORAGE_OPEN_FILE_ACTION = 2
|
||||
private val STORAGE_EXPORT_AS_FILE = 3
|
||||
|
||||
private var openFilePath = ""
|
||||
private var mAdapter: NotesPagerAdapter? = null
|
||||
|
||||
lateinit var mCurrentNote: Note
|
||||
@ -54,7 +48,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
|
||||
mDb = DBHelper.newInstance(applicationContext)
|
||||
mDb = applicationContext.dbHelper
|
||||
initViewPager()
|
||||
|
||||
pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
|
||||
@ -105,11 +99,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
return
|
||||
}
|
||||
|
||||
if (hasWriteStoragePermission()) {
|
||||
importFileWithSync(path)
|
||||
} else {
|
||||
this.openFilePath = path
|
||||
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_OPEN_FILE_ACTION)
|
||||
handlePermission(PERMISSION_WRITE_STORAGE) {
|
||||
if (it) {
|
||||
importFileWithSync(path)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -147,6 +140,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
menuInflater.inflate(R.menu.menu, menu)
|
||||
updateMenuTextSize(resources, menu)
|
||||
return true
|
||||
}
|
||||
|
||||
@ -239,10 +233,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
}
|
||||
|
||||
private fun tryOpenFile() {
|
||||
if (hasWriteStoragePermission()) {
|
||||
openFile()
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_OPEN_FILE)
|
||||
handlePermission(PERMISSION_WRITE_STORAGE) {
|
||||
if (it) {
|
||||
openFile()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -281,10 +275,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
}
|
||||
|
||||
private fun tryExportAsFile() {
|
||||
if (hasWriteStoragePermission()) {
|
||||
exportAsFile()
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_EXPORT_AS_FILE)
|
||||
handlePermission(PERMISSION_WRITE_STORAGE) {
|
||||
if (it) {
|
||||
exportAsFile()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -407,18 +401,6 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||
|
||||
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
when (requestCode) {
|
||||
STORAGE_OPEN_FILE -> openFile()
|
||||
STORAGE_EXPORT_AS_FILE -> exportAsFile()
|
||||
STORAGE_OPEN_FILE_ACTION -> importFileWithSync(openFilePath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPageScrollStateChanged(state: Int) {
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@ import com.simplemobiletools.commons.extensions.updateTextColors
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.notes.R
|
||||
import com.simplemobiletools.notes.extensions.config
|
||||
import com.simplemobiletools.notes.extensions.dbHelper
|
||||
import com.simplemobiletools.notes.extensions.updateWidget
|
||||
import com.simplemobiletools.notes.helpers.*
|
||||
import com.simplemobiletools.notes.models.Note
|
||||
@ -122,7 +123,7 @@ class SettingsActivity : SimpleActivity() {
|
||||
})
|
||||
|
||||
private fun setupWidgetNote() {
|
||||
val notes = DBHelper.newInstance(this).getNotes()
|
||||
val notes = dbHelper.getNotes()
|
||||
if (notes.size <= 1) {
|
||||
settings_widget_note_holder.visibility = View.GONE
|
||||
return
|
||||
|
@ -41,7 +41,7 @@ class NotesPagerAdapter(fm: FragmentManager, val notes: List<Note>, val activity
|
||||
|
||||
fun focusEditText(position: Int) = fragments[position]?.focusEditText()
|
||||
|
||||
override fun finishUpdate(container: ViewGroup?) {
|
||||
override fun finishUpdate(container: ViewGroup) {
|
||||
try {
|
||||
super.finishUpdate(container)
|
||||
} catch (e: Exception) {
|
||||
|
@ -11,7 +11,7 @@ import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.commons.extensions.toast
|
||||
import com.simplemobiletools.notes.R
|
||||
import com.simplemobiletools.notes.extensions.config
|
||||
import com.simplemobiletools.notes.helpers.DBHelper
|
||||
import com.simplemobiletools.notes.extensions.dbHelper
|
||||
import kotlinx.android.synthetic.main.dialog_open_note.view.*
|
||||
import kotlinx.android.synthetic.main.open_note_item.view.*
|
||||
|
||||
@ -21,7 +21,7 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Int) -> U
|
||||
init {
|
||||
val view = activity.layoutInflater.inflate(R.layout.dialog_open_note, null)
|
||||
val textColor = activity.config.textColor
|
||||
val notes = DBHelper.newInstance(activity).getNotes()
|
||||
val notes = activity.dbHelper.getNotes()
|
||||
notes.forEach {
|
||||
activity.layoutInflater.inflate(R.layout.open_note_item, null).apply {
|
||||
val note = it
|
||||
|
@ -29,7 +29,9 @@ fun Context.updateWidget() {
|
||||
}
|
||||
}
|
||||
|
||||
val Context.config: Config get() = Config.newInstance(this)
|
||||
val Context.config: Config get() = Config.newInstance(applicationContext)
|
||||
|
||||
val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext)
|
||||
|
||||
fun Context.getNoteStoredValue(note: Note): String? {
|
||||
return if (note.path.isNotEmpty()) {
|
||||
|
@ -12,10 +12,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.simplemobiletools.notes.R
|
||||
import com.simplemobiletools.notes.activities.MainActivity
|
||||
import com.simplemobiletools.notes.extensions.config
|
||||
import com.simplemobiletools.notes.extensions.getNoteStoredValue
|
||||
import com.simplemobiletools.notes.extensions.getTextSize
|
||||
import com.simplemobiletools.notes.extensions.updateWidget
|
||||
import com.simplemobiletools.notes.extensions.*
|
||||
import com.simplemobiletools.notes.helpers.DBHelper
|
||||
import com.simplemobiletools.notes.helpers.GRAVITY_CENTER
|
||||
import com.simplemobiletools.notes.helpers.GRAVITY_RIGHT
|
||||
@ -32,11 +29,11 @@ class NoteFragment : Fragment() {
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
view = inflater.inflate(R.layout.fragment_note, container, false) as ViewGroup
|
||||
noteId = arguments.getInt(NOTE_ID)
|
||||
mDb = DBHelper.newInstance(context)
|
||||
noteId = arguments!!.getInt(NOTE_ID)
|
||||
mDb = context!!.dbHelper
|
||||
note = mDb.getNote(noteId) ?: return view
|
||||
|
||||
if (context.config.clickableLinks) {
|
||||
if (context!!.config.clickableLinks) {
|
||||
view.notes_view.apply {
|
||||
linksClickable = true
|
||||
autoLinkMask = Linkify.WEB_URLS or Linkify.EMAIL_ADDRESSES
|
||||
@ -49,8 +46,9 @@ class NoteFragment : Fragment() {
|
||||
|
||||
override fun setMenuVisibility(menuVisible: Boolean) {
|
||||
super.setMenuVisibility(menuVisible)
|
||||
if (noteId != 0)
|
||||
if (noteId != 0) {
|
||||
saveText()
|
||||
}
|
||||
}
|
||||
|
||||
fun getNotesView() = view.notes_view
|
||||
@ -63,11 +61,11 @@ class NoteFragment : Fragment() {
|
||||
return
|
||||
|
||||
val newText = getCurrentNoteViewText()
|
||||
val oldText = context.getNoteStoredValue(note)
|
||||
val oldText = context!!.getNoteStoredValue(note)
|
||||
if (newText != oldText) {
|
||||
note.value = newText
|
||||
saveNoteValue(note)
|
||||
context.updateWidget()
|
||||
context!!.updateWidget()
|
||||
}
|
||||
}
|
||||
|
||||
@ -86,7 +84,7 @@ class NoteFragment : Fragment() {
|
||||
|
||||
fun getCurrentNoteViewText() = view.notes_view?.text.toString()
|
||||
|
||||
private fun getTextGravity() = when (context.config.gravity) {
|
||||
private fun getTextGravity() = when (context!!.config.gravity) {
|
||||
GRAVITY_CENTER -> Gravity.CENTER_HORIZONTAL
|
||||
GRAVITY_RIGHT -> Gravity.RIGHT
|
||||
else -> Gravity.LEFT
|
||||
@ -95,7 +93,7 @@ class NoteFragment : Fragment() {
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
val config = context.config
|
||||
val config = context!!.config
|
||||
view.notes_view.apply {
|
||||
typeface = if (config.monospacedFont) Typeface.MONOSPACE else Typeface.DEFAULT
|
||||
|
||||
|
@ -14,6 +14,7 @@ import com.simplemobiletools.notes.R
|
||||
import com.simplemobiletools.notes.R.layout.widget
|
||||
import com.simplemobiletools.notes.activities.SplashActivity
|
||||
import com.simplemobiletools.notes.extensions.config
|
||||
import com.simplemobiletools.notes.extensions.dbHelper
|
||||
import com.simplemobiletools.notes.extensions.getNoteStoredValue
|
||||
import com.simplemobiletools.notes.extensions.getTextSize
|
||||
|
||||
@ -55,7 +56,7 @@ class MyWidgetProvider : AppWidgetProvider() {
|
||||
}
|
||||
|
||||
private fun initVariables(context: Context) {
|
||||
mDb = DBHelper.newInstance(context)
|
||||
mDb = context.dbHelper
|
||||
mRemoteViews = RemoteViews(context.packageName, widget)
|
||||
setupAppOpenIntent(R.id.notes_holder, context)
|
||||
}
|
||||
|
Reference in New Issue
Block a user