diff --git a/app/build.gradle b/app/build.gradle
index 4332a31..c03e161 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,12 +4,15 @@ plugins {
}
android {
- compileSdk 32
+ compileSdk 33
+ buildFeatures {
+ viewBinding true
+ }
defaultConfig {
applicationId "otus.gpb.homework.viewandresources"
minSdk 23
- targetSdk 32
+ targetSdk 33
versionCode 1
versionName "1.0"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 608e135..de9e8c2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,19 +16,24 @@
-
+ android:exported="true">
+
+
+
+
+
+
diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt
index b6cbf73..068ee56 100644
--- a/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt
+++ b/app/src/main/java/otus/gpb/homework/viewandresources/CartActivity.kt
@@ -2,10 +2,30 @@ package otus.gpb.homework.viewandresources
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import android.view.Menu
+import android.view.MenuItem
+import android.view.View
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.appcompat.widget.Toolbar
class CartActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_cart)
+
+ val toolbar = findViewById(R.id.toolbar)
+ setSupportActionBar(toolbar)
+
+ }
+
+ override fun onCreateOptionsMenu(menu: Menu?): Boolean {
+ getMenuInflater().inflate(R.menu.card_menu, menu)
+ return true
+ }
+
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ val id = item.itemId
+ return true
}
}
\ No newline at end of file
diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt b/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt
index 25f1ffb..1bbb8bf 100644
--- a/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt
+++ b/app/src/main/java/otus/gpb/homework/viewandresources/ContactsActivity.kt
@@ -1,11 +1,66 @@
package otus.gpb.homework.viewandresources
-import androidx.appcompat.app.AppCompatActivity
+
import android.os.Bundle
+import android.view.Menu
+import android.view.MenuItem
+import android.widget.ArrayAdapter
+import android.widget.AutoCompleteTextView
+import androidx.appcompat.app.AppCompatActivity
+import androidx.appcompat.widget.Toolbar
+import androidx.core.content.ContentProviderCompat.requireContext
+
class ContactsActivity : AppCompatActivity() {
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_contacts)
+ val toolbar = findViewById(R.id.toolbar)
+ setSupportActionBar(toolbar)
+
+ val items = resources.getStringArray(R.array.array_for_dropdown1)
+ val adapter = ArrayAdapter(
+ this,
+ R.layout.list_popup_window_item, items
+ )
+ val autoComplete2 = findViewById(R.id.autoComplete2)
+ autoComplete2.setAdapter(adapter)
+
+ val items2 = resources.getStringArray(R.array.array_for_dropdown2)
+ val adapter2 = ArrayAdapter(
+ this,
+ R.layout.list_popup_window_item, items2
+ )
+ val autoComplete3 = findViewById(R.id.autoComplete3)
+ autoComplete3.setAdapter(adapter2)
+
+
+
+
+// val COUNTRIES = arrayOf(
+// "Belgium", "France", "Italy", "Germany", "Spain"
+// )
+// val adapter = ArrayAdapter(
+// this,
+// android.R.layout.simple_dropdown_item_1line, COUNTRIES
+// )
+// val textView = findViewById(R.id.autocomplete1)
+// textView.setAdapter(adapter)
+
+
+ }
+
+ override fun onCreateOptionsMenu(menu: Menu?): Boolean {
+ getMenuInflater().inflate(R.menu.toolbar_menu, menu)
+ return true
+
+ }
+
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ val id = item.itemId
+ return true
+
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/otus/gpb/homework/viewandresources/components/CartSnippet.kt b/app/src/main/java/otus/gpb/homework/viewandresources/components/CartSnippet.kt
new file mode 100644
index 0000000..414d7e0
--- /dev/null
+++ b/app/src/main/java/otus/gpb/homework/viewandresources/components/CartSnippet.kt
@@ -0,0 +1,46 @@
+package otus.gpb.homework.viewandresources.components
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.widget.LinearLayout
+import androidx.core.content.withStyledAttributes
+import otus.gpb.homework.viewandresources.R
+import otus.gpb.homework.viewandresources.databinding.CartSnippetBinding
+
+class CartSnippet @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0,
+ defStyleRes: Int = 0,
+) : LinearLayout (context, attrs, defStyleAttr, defStyleRes) {
+ private val binding : CartSnippetBinding
+ private var name = ""
+ init {
+ binding = CartSnippetBinding.inflate(LayoutInflater.from(context), this)
+ // initPanel(attrs, defStyleAttr)
+ initParams(attrs, defStyleAttr)
+ }
+
+ private fun initParams(attrs: AttributeSet?, defStyleAttr: Int) = with(binding) {
+ context.withStyledAttributes(attrs, R.styleable.CartSnippet, defStyleAttr) {
+ name = getString(R.styleable.CartSnippet_staffName)?: "Имя"
+ textViewName.text = name
+
+ val imageResId = getResourceId(R.styleable.CartSnippet_ImageRes, 0)
+ if (imageResId != 0) {
+ itemImage.setImageResource(imageResId)
+ }
+
+ val description = getString(R.styleable.CartSnippet_Description)?: "Описание"
+ textViewDescription.text = description
+
+ val price = getString(R.styleable.CartSnippet_Price)?: "Цена"
+ textViewPrice.text = price
+
+
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/color-night/stroke_color_selector.xml b/app/src/main/res/color-night/stroke_color_selector.xml
new file mode 100644
index 0000000..66fdb26
--- /dev/null
+++ b/app/src/main/res/color-night/stroke_color_selector.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/color-notnight/stroke_color_selector.xml b/app/src/main/res/color-notnight/stroke_color_selector.xml
new file mode 100644
index 0000000..66fdb26
--- /dev/null
+++ b/app/src/main/res/color-notnight/stroke_color_selector.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/account.xml b/app/src/main/res/drawable/account.xml
new file mode 100644
index 0000000..baae9e8
--- /dev/null
+++ b/app/src/main/res/drawable/account.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/arrow_left.xml b/app/src/main/res/drawable/arrow_left.xml
new file mode 100644
index 0000000..bc94267
--- /dev/null
+++ b/app/src/main/res/drawable/arrow_left.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/cactus.png b/app/src/main/res/drawable/cactus.png
new file mode 100644
index 0000000..1236f93
Binary files /dev/null and b/app/src/main/res/drawable/cactus.png differ
diff --git a/app/src/main/res/drawable/calendar.xml b/app/src/main/res/drawable/calendar.xml
new file mode 100644
index 0000000..9f71c7b
--- /dev/null
+++ b/app/src/main/res/drawable/calendar.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/clock.png b/app/src/main/res/drawable/clock.png
new file mode 100644
index 0000000..fdbffbf
Binary files /dev/null and b/app/src/main/res/drawable/clock.png differ
diff --git a/app/src/main/res/drawable/close.xml b/app/src/main/res/drawable/close.xml
new file mode 100644
index 0000000..2ad19e3
--- /dev/null
+++ b/app/src/main/res/drawable/close.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/disk.png b/app/src/main/res/drawable/disk.png
new file mode 100644
index 0000000..302de21
Binary files /dev/null and b/app/src/main/res/drawable/disk.png differ
diff --git a/app/src/main/res/drawable/dots_vertical.xml b/app/src/main/res/drawable/dots_vertical.xml
new file mode 100644
index 0000000..ff53e66
--- /dev/null
+++ b/app/src/main/res/drawable/dots_vertical.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/magnify.xml b/app/src/main/res/drawable/magnify.xml
new file mode 100644
index 0000000..c47c82b
--- /dev/null
+++ b/app/src/main/res/drawable/magnify.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/map_marker.xml b/app/src/main/res/drawable/map_marker.xml
new file mode 100644
index 0000000..ca4b612
--- /dev/null
+++ b/app/src/main/res/drawable/map_marker.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/pencil.xml b/app/src/main/res/drawable/pencil.xml
new file mode 100644
index 0000000..6c65f3c
--- /dev/null
+++ b/app/src/main/res/drawable/pencil.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/phone.xml b/app/src/main/res/drawable/phone.xml
new file mode 100644
index 0000000..1e12044
--- /dev/null
+++ b/app/src/main/res/drawable/phone.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/pie.png b/app/src/main/res/drawable/pie.png
new file mode 100644
index 0000000..d4935c8
Binary files /dev/null and b/app/src/main/res/drawable/pie.png differ
diff --git a/app/src/main/res/drawable/placeholder.png b/app/src/main/res/drawable/placeholder.png
new file mode 100644
index 0000000..d17294f
Binary files /dev/null and b/app/src/main/res/drawable/placeholder.png differ
diff --git a/app/src/main/res/drawable/rounded_button.xml b/app/src/main/res/drawable/rounded_button.xml
new file mode 100644
index 0000000..7d965f4
--- /dev/null
+++ b/app/src/main/res/drawable/rounded_button.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/tag_heart.xml b/app/src/main/res/drawable/tag_heart.xml
new file mode 100644
index 0000000..018490c
--- /dev/null
+++ b/app/src/main/res/drawable/tag_heart.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/wallet.xml b/app/src/main/res/drawable/wallet.xml
new file mode 100644
index 0000000..fd9780e
--- /dev/null
+++ b/app/src/main/res/drawable/wallet.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/font/aguafina_script.ttf b/app/src/main/res/font/aguafina_script.ttf
new file mode 100644
index 0000000..9585cd3
Binary files /dev/null and b/app/src/main/res/font/aguafina_script.ttf differ
diff --git a/app/src/main/res/font/roboto.ttf b/app/src/main/res/font/roboto.ttf
new file mode 100644
index 0000000..3313686
Binary files /dev/null and b/app/src/main/res/font/roboto.ttf differ
diff --git a/app/src/main/res/layout/activity_cart.xml b/app/src/main/res/layout/activity_cart.xml
index 57dc4d4..36347bb 100644
--- a/app/src/main/res/layout/activity_cart.xml
+++ b/app/src/main/res/layout/activity_cart.xml
@@ -1,9 +1,165 @@
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_contacts.xml b/app/src/main/res/layout/activity_contacts.xml
index 6ef087b..f7ca00c 100644
--- a/app/src/main/res/layout/activity_contacts.xml
+++ b/app/src/main/res/layout/activity_contacts.xml
@@ -1,9 +1,265 @@
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/cart_snippet.xml b/app/src/main/res/layout/cart_snippet.xml
new file mode 100644
index 0000000..df1d71c
--- /dev/null
+++ b/app/src/main/res/layout/cart_snippet.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_signin.xml b/app/src/main/res/layout/dialog_signin.xml
index 77d9ef6..d39f3e5 100644
--- a/app/src/main/res/layout/dialog_signin.xml
+++ b/app/src/main/res/layout/dialog_signin.xml
@@ -1,6 +1,151 @@
+ android:layout_height="match_parent"
+ android:background="@color/alert_background">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_popup_window_item.xml b/app/src/main/res/layout/list_popup_window_item.xml
new file mode 100644
index 0000000..b6be354
--- /dev/null
+++ b/app/src/main/res/layout/list_popup_window_item.xml
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/card_menu.xml b/app/src/main/res/menu/card_menu.xml
new file mode 100644
index 0000000..1430f5f
--- /dev/null
+++ b/app/src/main/res/menu/card_menu.xml
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/toolbar_menu.xml b/app/src/main/res/menu/toolbar_menu.xml
new file mode 100644
index 0000000..eaf27be
--- /dev/null
+++ b/app/src/main/res/menu/toolbar_menu.xml
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
new file mode 100644
index 0000000..7c56611
--- /dev/null
+++ b/app/src/main/res/values-night/colors.xml
@@ -0,0 +1,24 @@
+
+
+ @color/grey_1
+ @color/white_1
+ @color/green
+ @color/green_1
+ @color/black_1
+ @color/white
+ @color/grey
+ @color/lazyr_1
+ @color/white_2
+ #FF272727
+ @color/white_2
+ @color/white_2
+ @color/grey
+ @color/lazyr_1
+ @color/black_1
+ @color/green_1
+ @color/grey
+ @color/yellow
+ @color/black_1
+ @color/black_1
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/strings.xml b/app/src/main/res/values-night/strings.xml
new file mode 100644
index 0000000..f3779ff
--- /dev/null
+++ b/app/src/main/res/values-night/strings.xml
@@ -0,0 +1,6 @@
+
+
+ item_1
+ item_1
+ item_1
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index 266a56d..e13f7d0 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -1,14 +1,29 @@
-
\ No newline at end of file