Skip to content

Commit

Permalink
update version
Browse files Browse the repository at this point in the history
  • Loading branch information
olup committed Mar 29, 2023
1 parent c3d14f1 commit c9d9522
Show file tree
Hide file tree
Showing 30 changed files with 163 additions and 157 deletions.
16 changes: 12 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ android {
applicationId "com.olup.notable"
minSdk 29
targetSdk 33
versionCode 6
versionName "0.0.6"
versionCode 7
versionName "0.0.7"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
Expand Down Expand Up @@ -46,6 +46,8 @@ android {
kotlinCompilerExtensionVersion compose_version
}
packagingOptions {
pickFirst '**/*.so'

resources {
excludes += '/META-INF/{AL2.0,LGPL2.1}'
}
Expand All @@ -62,7 +64,13 @@ dependencies {
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.activity:activity-compose:1.3.1'

implementation fileTree(dir: 'libs', include: ['*.aar'])
//implementation fileTree(dir: 'libs', include: ['*.aar'])
implementation('com.onyx.android.sdk:onyxsdk-device:1.2.21') {
exclude group: 'com.android.support', module: 'support-compat'
}
implementation('com.onyx.android.sdk:onyxsdk-pen:1.4.4') {
exclude group: 'com.android.support', module: 'support-compat'
}
// used in RawInputManager.
implementation group: 'io.reactivex.rxjava2', name: 'rxjava', version: '2.2.21'
implementation group: 'io.reactivex.rxjava2', name: 'rxandroid', version: '2.1.1'
Expand Down Expand Up @@ -91,12 +99,12 @@ dependencies {
implementation "com.google.accompanist:accompanist-navigation-animation:0.29.1-alpha"

implementation 'com.aventrix.jnanoid:jnanoid:2.0.0'
implementation 'androidx.datastore:datastore-preferences:1.0.0'

implementation platform('com.google.firebase:firebase-bom:31.2.3')
implementation 'com.google.firebase:firebase-analytics-ktx'

implementation 'br.com.devsrsouza.compose.icons.android:feather:1.0.0'
implementation "com.beust:klaxon:5.5"

}

Expand Down
13 changes: 7 additions & 6 deletions app/src/main/java/com/olup/notable/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,12 @@ import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.lifecycle.lifecycleScope
import com.olup.notable.ui.theme.InkaTheme
import com.onyx.android.sdk.api.device.EpdDeviceManager
import com.onyx.android.sdk.api.device.epd.EpdController
import kotlinx.coroutines.launch

Expand All @@ -28,19 +26,22 @@ var SCREEN_HEIGHT = EpdController.getEpdWidth().toInt()
@ExperimentalFoundationApi
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

if(SCREEN_WIDTH == 0){
SCREEN_WIDTH = applicationContext.resources.displayMetrics.widthPixels
SCREEN_HEIGHT = applicationContext.resources.displayMetrics.heightPixels
}

super.onCreate(savedInstanceState)
EpdDeviceManager.enterAnimationUpdate(true);
val snackState = SnackState()
// Refactor - we prob don't need this
EditorSettingCacheManager.init(applicationContext)

DataStoreManager.init(applicationContext)

setContent {
//EpdDeviceManager.enterAnimationUpdate(true);


setContent {
InkaTheme {
CompositionLocalProvider(SnackContext provides snackState ) {
Box(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class DrawCanvas(
val _context: Context,
val coroutineScope: CoroutineScope,
val state: EditorState,
val page: PageModel,
val page: PageView,
val history: History
) : SurfaceView(_context) {

Expand Down Expand Up @@ -331,6 +331,7 @@ class DrawCanvas(
)
).setExcludeRect(listOf(android.graphics.Rect(0, 0, this.width, exclusionHeight))).openRawDrawing()
touchHelper.setRawDrawingEnabled(true)
updatePenAndStroke()

refreshUi()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@ package com.olup.notable

import android.graphics.Rect
import androidx.compose.ui.unit.toOffset
import com.olup.notable.PageModel
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch

class EditorControlTower(
val scope: CoroutineScope, val page: PageModel, val history: History, val state: EditorState
val scope: CoroutineScope, val page: PageView, val history: History, val state: EditorState
) {

fun onSingleFingerVerticalSwipe(startPosition: SimplePointF, delta: Int) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import androidx.core.graphics.toRect
import com.olup.notable.db.AppDatabase
import com.olup.notable.db.Page
import com.olup.notable.db.Stroke
import com.onyx.android.sdk.api.device.epd.EpdController
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.debounce
Expand All @@ -23,7 +22,7 @@ import kotlin.io.path.Path
import kotlin.math.max
import kotlin.system.measureTimeMillis

class PageModel(
class PageView(
val context: Context,
val coroutineScope: CoroutineScope,
val id: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.pointer.PointerType
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.input.pointer.pointerInteropFilter
import com.olup.notable.EditorControlTower
import kotlinx.coroutines.launch


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import androidx.compose.ui.viewinterop.AndroidView
@Composable
@ExperimentalComposeUiApi
fun EditorSurface(
state: EditorState, page : PageModel, history: History
state: EditorState, page : PageView, history: History
) {
val couroutineScope = rememberCoroutineScope()
println("recompose surface")
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/olup/notable/components/PageMenu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Popup
import androidx.compose.ui.window.PopupProperties
import com.olup.notable.AppRepository
import com.olup.notable.db.Page


Expand Down
10 changes: 1 addition & 9 deletions app/src/main/java/com/olup/notable/components/QuickNav.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,19 @@ import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.items
import androidx.compose.material.Icon
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.key.Key
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.navigation.NavController
import com.olup.notable.db.KvProxy
import com.olup.notable.AppRepository
import compose.icons.FeatherIcons
import compose.icons.feathericons.CloudLightning
import compose.icons.feathericons.Home
import compose.icons.feathericons.Plus
import compose.icons.feathericons.Zap

@SuppressLint("SuspiciousIndentation")
@Composable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import kotlin.math.max

@Composable
fun ScrollIndicator(context: Context, state: EditorState) {
val page = state.pageModel
val page = state.pageView
val virtualHeight = max(page.height, page.scroll + page.viewHeight)
if(virtualHeight <= page.viewHeight) return

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.round
import com.olup.notable.EditorControlTower
import java.util.Date
import java.util.UUID

Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/olup/notable/components/Toolbar.kt
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ fun Toolbar(


if (isPageSettingsModalOpen) {
PageSettingsModal(pageModel = state.pageModel) {
PageSettingsModal(pageView = state.pageView) {
isPageSettingsModalOpen = false
}
}
Expand Down
7 changes: 1 addition & 6 deletions app/src/main/java/com/olup/notable/components/ToolbarMenu.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,19 @@ package com.olup.notable
import androidx.compose.foundation.background
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.Popup
import androidx.compose.ui.window.PopupProperties
import androidx.navigation.NavController
import com.olup.notable.PageModel
import kotlinx.coroutines.coroutineScope
import com.olup.notable.AppRepository
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch

Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
package com.olup.notable

import android.content.Context
import androidx.datastore.core.DataStore
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import com.olup.notable.AppRepository
import com.olup.notable.db.Kv
import kotlinx.coroutines.flow.map
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json

val persistVersion = 2

object DataStoreManager {
object EditorSettingCacheManager {

@kotlinx.serialization.Serializable
data class EditorSettings(
Expand Down Expand Up @@ -47,8 +42,4 @@ object DataStoreManager {
editorSettings = newEditorSettings
if(shouldPersist) persist(context, newEditorSettings)
}

fun persistEditorSetting(newEditorSettings: EditorSettings) {
editorSettings = newEditorSettings
}
}
20 changes: 19 additions & 1 deletion app/src/main/java/com/olup/notable/modals/AppSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import com.olup.notable.components.SelectMenu
Expand All @@ -31,8 +34,14 @@ data class AppSettings (

@Composable
fun AppSettingsModal(onClose: () -> Unit) {
val kv = KvProxy(LocalContext.current)
val context = LocalContext.current
val kv = KvProxy(context)
val isLatestVersion = remember {
isLatestVersion(context)
}
val settings by kv.observeKv("APP_SETTINGS", AppSettings.serializer(), AppSettings(version = 1)).observeAsState()
val uriHandler = LocalUriHandler.current


if(settings == null) return
Dialog(
Expand Down Expand Up @@ -79,6 +88,15 @@ fun AppSettingsModal(onClose: () -> Unit) {

}
Spacer(Modifier.height(10.dp))

if(!isLatestVersion){
Text(text = "It seems a new version of ypu app is available on github.", fontStyle = FontStyle.Italic)
Spacer(Modifier.height(10.dp))
Text(text = "See release in browser", textDecoration = TextDecoration.Underline, modifier=Modifier.noRippleClickable {
uriHandler.openUri("https://github.com/olup/notable-public/releases")
})
Spacer(Modifier.height(10.dp))
}
}

}
Expand Down
11 changes: 5 additions & 6 deletions app/src/main/java/com/olup/notable/modals/PageSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.*
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.unit.dp
Expand All @@ -15,8 +14,8 @@ import com.olup.notable.components.SelectMenu
import kotlinx.coroutines.launch

@Composable
fun PageSettingsModal(pageModel: PageModel, onClose: () -> Unit) {
var pageTemplate by remember { mutableStateOf(pageModel.pageFromDb!!.nativeTemplate) }
fun PageSettingsModal(pageView: PageView, onClose: () -> Unit) {
var pageTemplate by remember { mutableStateOf(pageView.pageFromDb!!.nativeTemplate) }
val scope = rememberCoroutineScope()
Dialog(
onDismissRequest = { onClose() }
Expand Down Expand Up @@ -55,10 +54,10 @@ fun PageSettingsModal(pageModel: PageModel, onClose: () -> Unit) {
"squared" to "Small squares grid"
),
onChange = {
val updatedPage = pageModel.pageFromDb!!.copy(nativeTemplate = it)
pageModel.updatePageSettings(updatedPage)
val updatedPage = pageView.pageFromDb!!.copy(nativeTemplate = it)
pageView.updatePageSettings(updatedPage)
scope.launch { DrawCanvas.refreshUi.emit(Unit) }
pageTemplate = pageModel.pageFromDb!!.nativeTemplate
pageTemplate = pageView.pageFromDb!!.nativeTemplate
},
value = pageTemplate
)
Expand Down
Loading

0 comments on commit c9d9522

Please sign in to comment.