diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8511cba..8862a3d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,9 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Gyeonhae"> + diff --git a/app/src/main/java/us/gijuno/gyeonhae/presentation/InnerActivity.kt b/app/src/main/java/us/gijuno/gyeonhae/presentation/InnerActivity.kt new file mode 100644 index 0000000..72eed7c --- /dev/null +++ b/app/src/main/java/us/gijuno/gyeonhae/presentation/InnerActivity.kt @@ -0,0 +1,60 @@ +package us.gijuno.gyeonhae.presentation + +import android.os.Bundle +import android.widget.TextView +import androidx.core.view.isVisible +import androidx.recyclerview.widget.GridLayoutManager +import slush.Slush +import us.gijuno.gyeonhae.R +import us.gijuno.gyeonhae.databinding.ActivityInnerBinding +import us.gijuno.gyeonhae.presentation.base.BaseActivity + +class InnerActivity : BaseActivity(R.layout.activity_inner) { + private val gridLayoutManager = GridLayoutManager(this, 2) + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_inner) + val activityStatus = intent.getStringExtra("index") ?: return + + val buttonItemList = mutableListOf() + val innerTitle = findViewById(R.id.inner_title) + val innerSubtitle = findViewById(R.id.inner_subtitle) + + when (activityStatus) { + "recognize" -> { + innerTitle.text = getString(R.string.scan_func) + innerSubtitle.text = getString(R.string.select_scan_func) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_braille, R.string.braille_scan)) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_text, R.string.text_scan)) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_picture, R.string.picture_scan)) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_barcode, R.string.barcode_scan)) + } + "convenience" -> { + innerTitle.text = getString(R.string.convenience_func) + innerSubtitle.text = getString(R.string.select_convenience_func) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_tip_off, R.string.tip_off)) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_sos, R.string.sos)) + } + "setting" -> { + innerTitle.text = getString(R.string.setting) + innerSubtitle.isVisible = false + buttonItemList.add(LayoutMenuButton(R.drawable.ic_vibrate, R.string.vibrate_off)) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_sound, R.string.sound_off)) + buttonItemList.add(LayoutMenuButton(R.drawable.ic_auto_scan, R.string.auto_scan_off)) + } + } + + Slush.SingleType() + .setItemLayout(R.layout.layout_menu_button) + .setLayoutManager(gridLayoutManager) + .onBind { view, item -> + val textViewWithDrawable = view.findViewById(R.id.textview_with_drawable) + textViewWithDrawable.text = getString(item.text) + val compoundDrawables = item.icon + textViewWithDrawable.setCompoundDrawablesRelativeWithIntrinsicBounds(0, compoundDrawables, 0, 0) + } + .setItems(buttonItemList) + .into(findViewById(R.id.inner_button_recyclerview)) + } +} diff --git a/app/src/main/java/us/gijuno/gyeonhae/presentation/MainActivity.kt b/app/src/main/java/us/gijuno/gyeonhae/presentation/MainActivity.kt index 8df863b..7370093 100644 --- a/app/src/main/java/us/gijuno/gyeonhae/presentation/MainActivity.kt +++ b/app/src/main/java/us/gijuno/gyeonhae/presentation/MainActivity.kt @@ -1,5 +1,6 @@ package us.gijuno.gyeonhae.presentation +import android.content.Intent import android.os.Bundle import android.widget.TextView import androidx.appcompat.app.AppCompatActivity @@ -10,6 +11,16 @@ import us.gijuno.gyeonhae.R class MainActivity : AppCompatActivity() { private val gridLayoutManager = GridLayoutManager(this, 2) + private fun innerActivitySelector(index: Int): String { + return when (index) { + 0 -> "recognize" + 1 -> "convenience" + 2 -> "setting" + 3 -> "guide" + else -> "" + } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) @@ -30,7 +41,10 @@ class MainActivity : AppCompatActivity() { val compoundDrawables = item.icon textViewWithDrawable.setCompoundDrawablesRelativeWithIntrinsicBounds(0, compoundDrawables, 0, 0) } + .onItemClick { _, index -> + startActivity(Intent(this, InnerActivity::class.java).putExtra("index", innerActivitySelector(index))) + } .setItems(buttonItemsList) - .into(findViewById(R.id.button_recyclerview)) + .into(findViewById(R.id.main_button_recyclerview)) } } diff --git a/app/src/main/res/drawable/ic_auto_scan.xml b/app/src/main/res/drawable/ic_auto_scan.xml new file mode 100644 index 0000000..e582921 --- /dev/null +++ b/app/src/main/res/drawable/ic_auto_scan.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_barcode.xml b/app/src/main/res/drawable/ic_barcode.xml new file mode 100644 index 0000000..60a7e11 --- /dev/null +++ b/app/src/main/res/drawable/ic_barcode.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_braille.xml b/app/src/main/res/drawable/ic_braille.xml new file mode 100644 index 0000000..961cc50 --- /dev/null +++ b/app/src/main/res/drawable/ic_braille.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_picture.xml b/app/src/main/res/drawable/ic_picture.xml new file mode 100644 index 0000000..f9507b0 --- /dev/null +++ b/app/src/main/res/drawable/ic_picture.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_sos.xml b/app/src/main/res/drawable/ic_sos.xml new file mode 100644 index 0000000..e29119f --- /dev/null +++ b/app/src/main/res/drawable/ic_sos.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_sound.xml b/app/src/main/res/drawable/ic_sound.xml new file mode 100644 index 0000000..f4197fd --- /dev/null +++ b/app/src/main/res/drawable/ic_sound.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_text.xml b/app/src/main/res/drawable/ic_text.xml new file mode 100644 index 0000000..2d928d6 --- /dev/null +++ b/app/src/main/res/drawable/ic_text.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_tip_off.xml b/app/src/main/res/drawable/ic_tip_off.xml new file mode 100644 index 0000000..4fc5a09 --- /dev/null +++ b/app/src/main/res/drawable/ic_tip_off.xml @@ -0,0 +1,17 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_vibrate.xml b/app/src/main/res/drawable/ic_vibrate.xml new file mode 100644 index 0000000..33c71de --- /dev/null +++ b/app/src/main/res/drawable/ic_vibrate.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_inner.xml b/app/src/main/res/layout/activity_inner.xml new file mode 100644 index 0000000..7d671f6 --- /dev/null +++ b/app/src/main/res/layout/activity_inner.xml @@ -0,0 +1,46 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index dcc2f38..3e0bf25 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -17,7 +17,7 @@ app:layout_constraintTop_toTopOf="parent" /> Select what you want app logo Scan + Select the scan function you want. Convenience + Select the convenience function you want. Setting Guide + Braille Scan + Text Scan + Picture Scan + Barcode Scan + Tip Off + SOS + Vibrate on + Vibrate off + Sound on + Sound off + Auto-scan on + Auto-scan off \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f80888a..b710fdc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4,8 +4,22 @@ 반갑습니다 사용할 기능을 선택하세요 앱 로고 - 인식기능 + 인식 기능 + 원하시는 인식 기능을 선택해주세요. 편의기능 + 원하시는 편의 기능을 선택해주세요. 설정 앱 사용 가이드 + 점자 인식 + 글자 인식 + 장면 인식 + 바코드 인식 + 오류 제보 + 도움 요청 + 진동 켜기 + 진동 끄기 + 소리 켜기 + 소리 끄기 + 자동인식 켜기 + 자동인식 끄기 \ No newline at end of file diff --git a/build.gradle b/build.gradle index f5507cf..e07fc6a 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.0.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20" + classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files