update SDK to 27 and Commons

This commit is contained in:
tibbi 2017-11-10 15:28:22 +01:00
parent 14f8716c5b
commit bff373afac
10 changed files with 47 additions and 61 deletions

View File

@ -3,13 +3,13 @@ apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android-extensions'
android { android {
compileSdkVersion 26 compileSdkVersion 27
buildToolsVersion "26.0.2" buildToolsVersion "27.0.1"
defaultConfig { defaultConfig {
applicationId "com.simplemobiletools.notes" applicationId "com.simplemobiletools.notes"
minSdkVersion 16 minSdkVersion 16
targetSdkVersion 26 targetSdkVersion 27
versionCode 38 versionCode 38
versionName "2.3.0" versionName "2.3.0"
} }
@ -40,13 +40,13 @@ android {
} }
dependencies { dependencies {
compile 'com.simplemobiletools:commons:2.28.4' compile 'com.simplemobiletools:commons:2.38.5'
compile 'com.facebook.stetho:stetho:1.4.1' compile 'com.facebook.stetho:stetho:1.5.0'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
} }
buildscript { buildscript {
ext.kotlin_version = '1.1.50' ext.kotlin_version = '1.1.51'
repositories { repositories {
mavenCentral() mavenCentral()
} }

View File

@ -1,10 +1,7 @@
package com.simplemobiletools.notes.activities package com.simplemobiletools.notes.activities
import android.Manifest
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle import android.os.Bundle
import android.support.v4.app.ActivityCompat
import android.support.v4.view.ViewPager import android.support.v4.view.ViewPager
import android.text.method.ArrowKeyMovementMethod import android.text.method.ArrowKeyMovementMethod
import android.text.method.LinkMovementMethod 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_KOTLIN
import com.simplemobiletools.commons.helpers.LICENSE_RTL import com.simplemobiletools.commons.helpers.LICENSE_RTL
import com.simplemobiletools.commons.helpers.LICENSE_STETHO 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.RadioItem
import com.simplemobiletools.commons.models.Release import com.simplemobiletools.commons.models.Release
import com.simplemobiletools.commons.views.MyEditText 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.adapters.NotesPagerAdapter
import com.simplemobiletools.notes.dialogs.* import com.simplemobiletools.notes.dialogs.*
import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.config
import com.simplemobiletools.notes.extensions.dbHelper
import com.simplemobiletools.notes.extensions.getTextSize import com.simplemobiletools.notes.extensions.getTextSize
import com.simplemobiletools.notes.extensions.updateWidget import com.simplemobiletools.notes.extensions.updateWidget
import com.simplemobiletools.notes.helpers.DBHelper import com.simplemobiletools.notes.helpers.DBHelper
@ -37,11 +36,6 @@ import java.io.File
import java.nio.charset.Charset import java.nio.charset.Charset
class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { 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 private var mAdapter: NotesPagerAdapter? = null
lateinit var mCurrentNote: Note lateinit var mCurrentNote: Note
@ -54,7 +48,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) setContentView(R.layout.activity_main)
mDb = DBHelper.newInstance(applicationContext) mDb = applicationContext.dbHelper
initViewPager() initViewPager()
pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize()) pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
@ -105,11 +99,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
return return
} }
if (hasWriteStoragePermission()) { handlePermission(PERMISSION_WRITE_STORAGE) {
if (it) {
importFileWithSync(path) importFileWithSync(path)
} else { }
this.openFilePath = path
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_OPEN_FILE_ACTION)
} }
} }
@ -147,6 +140,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
override fun onCreateOptionsMenu(menu: Menu): Boolean { override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu, menu) menuInflater.inflate(R.menu.menu, menu)
updateMenuTextSize(resources, menu)
return true return true
} }
@ -239,10 +233,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
} }
private fun tryOpenFile() { private fun tryOpenFile() {
if (hasWriteStoragePermission()) { handlePermission(PERMISSION_WRITE_STORAGE) {
if (it) {
openFile() openFile()
} else { }
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_OPEN_FILE)
} }
} }
@ -281,10 +275,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
} }
private fun tryExportAsFile() { private fun tryExportAsFile() {
if (hasWriteStoragePermission()) { handlePermission(PERMISSION_WRITE_STORAGE) {
if (it) {
exportAsFile() exportAsFile()
} else { }
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_EXPORT_AS_FILE)
} }
} }
@ -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) { override fun onPageScrollStateChanged(state: Int) {
} }

View File

@ -8,6 +8,7 @@ import com.simplemobiletools.commons.extensions.updateTextColors
import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.notes.R import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.config
import com.simplemobiletools.notes.extensions.dbHelper
import com.simplemobiletools.notes.extensions.updateWidget import com.simplemobiletools.notes.extensions.updateWidget
import com.simplemobiletools.notes.helpers.* import com.simplemobiletools.notes.helpers.*
import com.simplemobiletools.notes.models.Note import com.simplemobiletools.notes.models.Note
@ -122,7 +123,7 @@ class SettingsActivity : SimpleActivity() {
}) })
private fun setupWidgetNote() { private fun setupWidgetNote() {
val notes = DBHelper.newInstance(this).getNotes() val notes = dbHelper.getNotes()
if (notes.size <= 1) { if (notes.size <= 1) {
settings_widget_note_holder.visibility = View.GONE settings_widget_note_holder.visibility = View.GONE
return return

View File

@ -41,7 +41,7 @@ class NotesPagerAdapter(fm: FragmentManager, val notes: List<Note>, val activity
fun focusEditText(position: Int) = fragments[position]?.focusEditText() fun focusEditText(position: Int) = fragments[position]?.focusEditText()
override fun finishUpdate(container: ViewGroup?) { override fun finishUpdate(container: ViewGroup) {
try { try {
super.finishUpdate(container) super.finishUpdate(container)
} catch (e: Exception) { } catch (e: Exception) {

View File

@ -11,7 +11,7 @@ import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.notes.R import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.extensions.config 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.dialog_open_note.view.*
import kotlinx.android.synthetic.main.open_note_item.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 { init {
val view = activity.layoutInflater.inflate(R.layout.dialog_open_note, null) val view = activity.layoutInflater.inflate(R.layout.dialog_open_note, null)
val textColor = activity.config.textColor val textColor = activity.config.textColor
val notes = DBHelper.newInstance(activity).getNotes() val notes = activity.dbHelper.getNotes()
notes.forEach { notes.forEach {
activity.layoutInflater.inflate(R.layout.open_note_item, null).apply { activity.layoutInflater.inflate(R.layout.open_note_item, null).apply {
val note = it val note = it

View File

@ -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? { fun Context.getNoteStoredValue(note: Note): String? {
return if (note.path.isNotEmpty()) { return if (note.path.isNotEmpty()) {

View File

@ -12,10 +12,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.simplemobiletools.notes.R import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.activities.MainActivity import com.simplemobiletools.notes.activities.MainActivity
import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.*
import com.simplemobiletools.notes.extensions.getNoteStoredValue
import com.simplemobiletools.notes.extensions.getTextSize
import com.simplemobiletools.notes.extensions.updateWidget
import com.simplemobiletools.notes.helpers.DBHelper import com.simplemobiletools.notes.helpers.DBHelper
import com.simplemobiletools.notes.helpers.GRAVITY_CENTER import com.simplemobiletools.notes.helpers.GRAVITY_CENTER
import com.simplemobiletools.notes.helpers.GRAVITY_RIGHT import com.simplemobiletools.notes.helpers.GRAVITY_RIGHT
@ -32,11 +29,11 @@ class NoteFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
view = inflater.inflate(R.layout.fragment_note, container, false) as ViewGroup view = inflater.inflate(R.layout.fragment_note, container, false) as ViewGroup
noteId = arguments.getInt(NOTE_ID) noteId = arguments!!.getInt(NOTE_ID)
mDb = DBHelper.newInstance(context) mDb = context!!.dbHelper
note = mDb.getNote(noteId) ?: return view note = mDb.getNote(noteId) ?: return view
if (context.config.clickableLinks) { if (context!!.config.clickableLinks) {
view.notes_view.apply { view.notes_view.apply {
linksClickable = true linksClickable = true
autoLinkMask = Linkify.WEB_URLS or Linkify.EMAIL_ADDRESSES autoLinkMask = Linkify.WEB_URLS or Linkify.EMAIL_ADDRESSES
@ -49,9 +46,10 @@ class NoteFragment : Fragment() {
override fun setMenuVisibility(menuVisible: Boolean) { override fun setMenuVisibility(menuVisible: Boolean) {
super.setMenuVisibility(menuVisible) super.setMenuVisibility(menuVisible)
if (noteId != 0) if (noteId != 0) {
saveText() saveText()
} }
}
fun getNotesView() = view.notes_view fun getNotesView() = view.notes_view
@ -63,11 +61,11 @@ class NoteFragment : Fragment() {
return return
val newText = getCurrentNoteViewText() val newText = getCurrentNoteViewText()
val oldText = context.getNoteStoredValue(note) val oldText = context!!.getNoteStoredValue(note)
if (newText != oldText) { if (newText != oldText) {
note.value = newText note.value = newText
saveNoteValue(note) saveNoteValue(note)
context.updateWidget() context!!.updateWidget()
} }
} }
@ -86,7 +84,7 @@ class NoteFragment : Fragment() {
fun getCurrentNoteViewText() = view.notes_view?.text.toString() 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_CENTER -> Gravity.CENTER_HORIZONTAL
GRAVITY_RIGHT -> Gravity.RIGHT GRAVITY_RIGHT -> Gravity.RIGHT
else -> Gravity.LEFT else -> Gravity.LEFT
@ -95,7 +93,7 @@ class NoteFragment : Fragment() {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
val config = context.config val config = context!!.config
view.notes_view.apply { view.notes_view.apply {
typeface = if (config.monospacedFont) Typeface.MONOSPACE else Typeface.DEFAULT typeface = if (config.monospacedFont) Typeface.MONOSPACE else Typeface.DEFAULT

View File

@ -14,6 +14,7 @@ import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.R.layout.widget import com.simplemobiletools.notes.R.layout.widget
import com.simplemobiletools.notes.activities.SplashActivity import com.simplemobiletools.notes.activities.SplashActivity
import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.config
import com.simplemobiletools.notes.extensions.dbHelper
import com.simplemobiletools.notes.extensions.getNoteStoredValue import com.simplemobiletools.notes.extensions.getNoteStoredValue
import com.simplemobiletools.notes.extensions.getTextSize import com.simplemobiletools.notes.extensions.getTextSize
@ -55,7 +56,7 @@ class MyWidgetProvider : AppWidgetProvider() {
} }
private fun initVariables(context: Context) { private fun initVariables(context: Context) {
mDb = DBHelper.newInstance(context) mDb = context.dbHelper
mRemoteViews = RemoteViews(context.packageName, widget) mRemoteViews = RemoteViews(context.packageName, widget)
setupAppOpenIntent(R.id.notes_holder, context) setupAppOpenIntent(R.id.notes_holder, context)
} }

View File

@ -5,7 +5,7 @@ buildscript {
jcenter() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:2.3.3' classpath 'com.android.tools.build:gradle:3.0.0'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
@ -15,6 +15,8 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
jcenter() jcenter()
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
} }
} }

View File

@ -1,6 +1,6 @@
#Mon Mar 06 18:14:27 CET 2017 #Fri Nov 10 15:12:09 CET 2017
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip