Skip to content

Commit f641672

Browse files
author
AndyDu
authored
Fix severe index error
Fix spinner index issue
2 parents 0fa63b2 + 9b61cfd commit f641672

File tree

12 files changed

+48
-31
lines changed

12 files changed

+48
-31
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ android {
1111
applicationId 'com.tranquilrock.androidscript'
1212
minSdkVersion 30
1313
targetSdk 33
14-
versionCode 2
15-
versionName '3.0.0'
14+
versionCode 3
15+
versionName '3.0.0-alpha'
1616

1717
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1818
vectorDrawables {

app/src/main/java/com/tranquilrock/androidscript/App.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,17 @@ import java.lang.IllegalStateException
1515
* Handles OpenCV check and setup the default exception handler.
1616
*/
1717
class App : Application() {
18+
1819
companion object {
20+
const val META_FILE = "meta.json"
21+
22+
const val SCRIPT_UPLOAD_EXTENSION = "zip"
23+
const val IMAGE_UPLOAD_EXTENSION = "png"
24+
25+
const val CODE_FILE_TYPE = ".txt"
26+
const val SCRIPT_FILE_TYPE = ".blc"
27+
const val IMAGE_FILE_TYPE = ".png"
28+
1929
const val BLOCK_DATA_KEY = "BLOCK_DATA_KEY"
2030
const val MEDIA_PROJECTION_KEY = "MEDIA_PROJECTION"
2131
const val BASIC_SCRIPT_TYPE = "BASIC"
@@ -36,8 +46,8 @@ class App : Application() {
3646
}
3747

3848
/** Initialize BASIC's meta If NOT EXIST. */
39-
File(getDir(BASIC_SCRIPT_TYPE, MODE_PRIVATE), "meta.json").run {
40-
if (createNewFile()) {
49+
File(getDir(BASIC_SCRIPT_TYPE, MODE_PRIVATE), META_FILE).run {
50+
if (createNewFile()) { // Write Basic meta if not exist
4151
val data = Gson().toJson(
4252
Command.BASIC_META
4353
)

app/src/main/java/com/tranquilrock/androidscript/activity/EditActivity.kt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.tranquilrock.androidscript.databinding.ActivityEditBinding
2424
import com.tranquilrock.androidscript.feature.PermissionRequester
2525
import com.tranquilrock.androidscript.service.WidgetService
2626
import java.io.IOException
27+
import java.lang.Exception
2728

2829
/**
2930
* UI for editing scripts.
@@ -62,6 +63,7 @@ class EditActivity : AppCompatActivity(), InternalStorageUser, PermissionRequest
6263

6364
try {
6465
blockData = getScript(this, scriptClass, fileName)
66+
Log.d(TAG, blockData.toString())
6567
} catch (e: IOException) {
6668
e.printStackTrace()
6769
Log.e(TAG, "Reading block file error!")
@@ -107,16 +109,21 @@ class EditActivity : AppCompatActivity(), InternalStorageUser, PermissionRequest
107109
).show()
108110
}
109111

110-
binding.editCodeGrid.run {
111-
layoutManager = LinearLayoutManager(this@EditActivity)
112-
adapter = BlockAdapter(blockMeta, blockData)
113-
addItemDecoration(
114-
DividerItemDecoration(
115-
this@EditActivity, DividerItemDecoration.VERTICAL
112+
try {
113+
binding.editCodeGrid.run {
114+
layoutManager = LinearLayoutManager(this@EditActivity)
115+
adapter = BlockAdapter(blockMeta, blockData)
116+
addItemDecoration(
117+
DividerItemDecoration(
118+
this@EditActivity, DividerItemDecoration.VERTICAL
119+
)
116120
)
117-
)
121+
}
122+
}catch (e: Exception){
123+
e.printStackTrace()
118124
}
119125

126+
120127
binding.editButtonGrid.run {
121128
layoutManager = GridLayoutManager(this@EditActivity, 2)
122129
adapter = ButtonAdapter(

app/src/main/java/com/tranquilrock/androidscript/activity/ManageActivity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@ import androidx.appcompat.app.AppCompatActivity
1111
import androidx.recyclerview.widget.DividerItemDecoration
1212
import androidx.recyclerview.widget.LinearLayoutManager
1313
import com.tranquilrock.androidscript.App
14+
import com.tranquilrock.androidscript.App.Companion.IMAGE_UPLOAD_EXTENSION
1415
import com.tranquilrock.androidscript.component.manage.ManageAdapter
1516
import com.tranquilrock.androidscript.databinding.ActivityManageBinding
1617
import com.tranquilrock.androidscript.feature.InternalStorageUser
17-
import com.tranquilrock.androidscript.feature.InternalStorageUser.Companion.IMAGE_UPLOAD_EXTENSION
1818
import com.tranquilrock.androidscript.utils.ResourceRemover
1919

20-
// TODO recycler view to list images with remove button
2120
class ManageActivity : AppCompatActivity(), InternalStorageUser {
2221

2322
private lateinit var binding: ActivityManageBinding

app/src/main/java/com/tranquilrock/androidscript/activity/MenuActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import androidx.activity.result.ActivityResult
1111
import androidx.activity.result.contract.ActivityResultContracts
1212
import androidx.appcompat.app.AppCompatActivity
1313
import com.tranquilrock.androidscript.App.Companion.SCRIPT_TYPE_KEY
14+
import com.tranquilrock.androidscript.App.Companion.SCRIPT_UPLOAD_EXTENSION
1415
import com.tranquilrock.androidscript.R
1516
import com.tranquilrock.androidscript.databinding.ActivityMenuBinding
1617
import com.tranquilrock.androidscript.feature.InternalStorageUser
17-
import com.tranquilrock.androidscript.feature.InternalStorageUser.Companion.SCRIPT_UPLOAD_EXTENSION
1818
import com.tranquilrock.androidscript.service.WidgetService
1919
import java.util.zip.ZipInputStream
2020

app/src/main/java/com/tranquilrock/androidscript/component/editor/BlockAdapter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.view.View
66
import android.view.ViewGroup
77
import androidx.recyclerview.widget.RecyclerView
88
import com.tranquilrock.androidscript.R
9+
import java.lang.Exception
910
import java.util.Collections
1011

1112

@@ -35,6 +36,7 @@ class BlockAdapter(
3536

3637

3738
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BlockViewHolder {
39+
Log.d("??", blockMeta[viewType].second.toString())
3840
val blockDef = blockMeta[viewType].second
3941
assert(blockDef.size < BLOCK_VIEWS_RID.size) { Log.e(TAG, "Block $blockMeta too long!") }
4042
val (layoutId, inputIds) = BLOCK_VIEWS_RID[blockDef.size]

app/src/main/java/com/tranquilrock/androidscript/component/editor/BlockViewHolder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class BlockViewHolder(
113113
if (blockData[blockViewHolder.adapterPosition][index] !in inputDef) {
114114
blockData[blockViewHolder.adapterPosition][index] = inputDef[1]
115115
}
116-
spinner.setSelection(inputDef.indexOf(blockData[blockViewHolder.adapterPosition][index]))
116+
spinner.setSelection(inputDef.indexOf(blockData[blockViewHolder.adapterPosition][index]) - 1)
117117
}
118118

119119
"EditText" -> {

app/src/main/java/com/tranquilrock/androidscript/component/manage/ManageAdapter.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.tranquilrock.androidscript.component.manage
22

33
import android.graphics.Bitmap
4-
import android.util.Log
54
import android.view.LayoutInflater
6-
import android.view.View
75
import android.view.ViewGroup
86
import androidx.recyclerview.widget.RecyclerView
97
import com.tranquilrock.androidscript.databinding.ManageResourceBlockBinding

app/src/main/java/com/tranquilrock/androidscript/core/Command.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ object Command {
3939
private const val floatVarFormat = "($floatFormat||$varFormat)"
4040
private const val imgVarFormat = "($imgFormat||$varFormat)"
4141
private const val intVarFloatFormat = "($intFormat||$varFormat||$floatFormat)"
42-
private const val anyFormat = "[a-zA-Z.0-9 $]*"
42+
private const val anyFormat = "[a-zA-Z.0-9 $-]*"
4343

4444
val COMMAND_LIST = arrayOf(
4545
EXIT,
@@ -84,7 +84,7 @@ object Command {
8484
"$CALL_ARG $scriptFormat $anyFormat",
8585
"$IF_GREATER $intVarFormat $intVarFormat",
8686
"$IF_SMALLER $intVarFormat $intVarFormat",
87-
"$IF_EQUAL $intVarFormat $intVarFormat",
87+
"$IF_EQUAL $varFormat $anyFormat",
8888
"$ADD $varFormat $intVarFormat",
8989
"$SUBTRACT $varFormat $intVarFormat",
9090
"$VAR $varFormat $intVarFloatFormat",

app/src/main/java/com/tranquilrock/androidscript/core/Interpreter.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ class Interpreter(
7373
} catch (e: NumberFormatException) {
7474
Log.e(TAG, "Execute:: Wrong format!")
7575
board.announce("Error!")
76+
} catch (e: NullPointerException){
77+
Log.e(TAG, "Execute:: Code Not Found")
78+
board.announce("Error!")
7679
}
7780
}
7881

0 commit comments

Comments
 (0)