diff --git a/README.md b/README.md new file mode 100644 index 00000000..73775997 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Activity #2 Homework + +Создайте в модуле **sender** класс **SenderActivity**. Добавьте в него три кнопки: **“To Google Maps”**, **“Send Email”** и **“Open Receiver”**. Добавьте пустые обработчики нажатий на эти кнопки. + +1. По клику на кнопку **“To Google Maps”**, используя явный `Intent` вызовите `Activity` приложения Google Maps. После того как Google Maps поймает ваш Intent, в нем должны отобразиться ближайшие к текущей геолокации места по тэгу “*Рестораны”* + + + +2. По клику на кнопку **“Send Email”** отправьте неявный `Intent` в метод `startActivity()` Этот `Intent` должны уметь обработать любые почтовые клиенты(если они реализовали `intent-filter` согласно контракту). + В качестве адресата используйте ящик *android@otus.ru*, тему и содержание письма придумайте сами. + + + +3. По клику на кнопку **“Open Receiver”** отправьте неявный `Intent` со следующими параметрами: + + - `action = Action.SEND` + - `type = “text/plain”` + - `category = Category.DEFAULT` + + В качестве extras отправьте три объекта String. В качестве значений extras используйте любой набор данных из файла *payload.txt*, который лежит в корне проекта **sender**. + + В модуле **receiver** зарегистрируйте `intent-filter`, таким образом, чтобы он поймал отправленный выше `Intent` и открыл **ReceiverActivity**. Полученные из `Intent` extras отобразите в соответсвующих полях: + + - title → `titleTextView` + - year → `yearTextView` + - description → `descriptionTextView` + - В зависимости от названия фильма отобразите картинку которая лежит в ресурсах(*res/drawable*) в `posterImageView` + +> 💡 Чтобы достать ресурс, используйте метод [Context.getDrawable()](https://developer.android.com/reference/android/content/Context#getDrawable(int)), а чтобы поменять картинку в ImageView используйте метод [setImageDrawable()](https://developer.android.com/reference/android/widget/ImageView#setImageDrawable(android.graphics.drawable.Drawable)) + + diff --git a/art/Untitled 1.png b/art/Untitled 1.png new file mode 100644 index 00000000..1aaa83a5 Binary files /dev/null and b/art/Untitled 1.png differ diff --git a/art/Untitled 2.png b/art/Untitled 2.png new file mode 100644 index 00000000..73978454 Binary files /dev/null and b/art/Untitled 2.png differ diff --git a/art/Untitled.png b/art/Untitled.png new file mode 100644 index 00000000..bc696335 Binary files /dev/null and b/art/Untitled.png differ diff --git a/receiver/.gitignore b/receiver/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/receiver/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/receiver/build.gradle b/receiver/build.gradle new file mode 100644 index 00000000..a56536b2 --- /dev/null +++ b/receiver/build.gradle @@ -0,0 +1,60 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' + id("io.gitlab.arturbosch.detekt") +} + +android { + compileSdk 34 + + defaultConfig { + applicationId "otus.gpb.homework.activities.receiver" + minSdk 23 + targetSdk 34 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = '17' + } + namespace 'otus.gpb.homework.activities.receiver' + buildFeatures { + viewBinding true + } +} + +detekt { + source = files("src/main/java", "src/main/kotlin") + config = files("$rootDir/config/detekt/detekt.yml") +} + +tasks.named("detekt").configure { + reports { + txt.required.set(true) + html.required.set(false) + md.required.set(false) + xml.required.set(false) + sarif.required.set(false) + html.outputLocation.set(file("build/reports/detekt/detekt.html")) + } +} + +dependencies { + implementation 'androidx.core:core-ktx:1.13.1' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.12.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' +} \ No newline at end of file diff --git a/receiver/proguard-rules.pro b/receiver/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/receiver/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/receiver/src/main/AndroidManifest.xml b/receiver/src/main/AndroidManifest.xml new file mode 100644 index 00000000..d3b57b02 --- /dev/null +++ b/receiver/src/main/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/receiver/src/main/java/otus/gpb/homework/activities/receiver/ReceiverActivity.kt b/receiver/src/main/java/otus/gpb/homework/activities/receiver/ReceiverActivity.kt new file mode 100644 index 00000000..788dda11 --- /dev/null +++ b/receiver/src/main/java/otus/gpb/homework/activities/receiver/ReceiverActivity.kt @@ -0,0 +1,36 @@ +package otus.gpb.homework.activities.receiver + +import android.os.Bundle +import android.widget.ImageView +import android.widget.TextView +import androidx.appcompat.app.AppCompatActivity + +class ReceiverActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_receiver) + + val intent = intent.getBundleExtra("payload") + + findViewById(R.id.titleTextView).run { + text = intent?.getString("title") + } + + findViewById(R.id.yearTextView).run { + text = intent?.getString("year") + } + + findViewById(R.id.descriptionTextView).run { + text = intent?.getString("description") + } + + findViewById(R.id.posterImageView).run { + when (intent?.getString("title")) { + "Славные парни" -> setImageResource(R.drawable.niceguys) + "Интерстеллар" -> setImageResource(R.drawable.interstellar) + } + } + + } +} diff --git a/receiver/src/main/res/drawable-v24/ic_launcher_foreground.xml b/receiver/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..2b068d11 --- /dev/null +++ b/receiver/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/receiver/src/main/res/drawable/ic_launcher_background.xml b/receiver/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..07d5da9c --- /dev/null +++ b/receiver/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/receiver/src/main/res/drawable/interstellar.webp b/receiver/src/main/res/drawable/interstellar.webp new file mode 100644 index 00000000..9038385b Binary files /dev/null and b/receiver/src/main/res/drawable/interstellar.webp differ diff --git a/receiver/src/main/res/drawable/niceguys.webp b/receiver/src/main/res/drawable/niceguys.webp new file mode 100644 index 00000000..b66234f3 Binary files /dev/null and b/receiver/src/main/res/drawable/niceguys.webp differ diff --git a/receiver/src/main/res/layout/activity_receiver.xml b/receiver/src/main/res/layout/activity_receiver.xml new file mode 100644 index 00000000..6e89c012 --- /dev/null +++ b/receiver/src/main/res/layout/activity_receiver.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/receiver/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/receiver/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..eca70cfe --- /dev/null +++ b/receiver/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/receiver/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/receiver/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..eca70cfe --- /dev/null +++ b/receiver/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/receiver/src/main/res/mipmap-hdpi/ic_launcher.webp b/receiver/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 00000000..c209e78e Binary files /dev/null and b/receiver/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/receiver/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/receiver/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 00000000..b2dfe3d1 Binary files /dev/null and b/receiver/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/receiver/src/main/res/mipmap-mdpi/ic_launcher.webp b/receiver/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 00000000..4f0f1d64 Binary files /dev/null and b/receiver/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/receiver/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/receiver/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 00000000..62b611da Binary files /dev/null and b/receiver/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/receiver/src/main/res/mipmap-xhdpi/ic_launcher.webp b/receiver/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 00000000..948a3070 Binary files /dev/null and b/receiver/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/receiver/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/receiver/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 00000000..1b9a6956 Binary files /dev/null and b/receiver/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/receiver/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/receiver/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 00000000..28d4b77f Binary files /dev/null and b/receiver/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/receiver/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/receiver/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 00000000..9287f508 Binary files /dev/null and b/receiver/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/receiver/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/receiver/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 00000000..aa7d6427 Binary files /dev/null and b/receiver/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/receiver/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/receiver/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 00000000..9126ae37 Binary files /dev/null and b/receiver/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/receiver/src/main/res/values-night/themes.xml b/receiver/src/main/res/values-night/themes.xml new file mode 100644 index 00000000..b34635aa --- /dev/null +++ b/receiver/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/receiver/src/main/res/values/colors.xml b/receiver/src/main/res/values/colors.xml new file mode 100644 index 00000000..f8c6127d --- /dev/null +++ b/receiver/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/receiver/src/main/res/values/strings.xml b/receiver/src/main/res/values/strings.xml new file mode 100644 index 00000000..47a1c9b0 --- /dev/null +++ b/receiver/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + Receiver + \ No newline at end of file diff --git a/receiver/src/main/res/values/themes.xml b/receiver/src/main/res/values/themes.xml new file mode 100644 index 00000000..49485436 --- /dev/null +++ b/receiver/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/sender/.gitignore b/sender/.gitignore new file mode 100644 index 00000000..42afabfd --- /dev/null +++ b/sender/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/sender/build.gradle b/sender/build.gradle new file mode 100644 index 00000000..795793bb --- /dev/null +++ b/sender/build.gradle @@ -0,0 +1,45 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + compileSdk 34 + + defaultConfig { + applicationId "otus.gpb.homework.activities.sender" + minSdk 23 + targetSdk 34 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } + namespace 'otus.gpb.homework.activities.receiver' + buildFeatures { + viewBinding true + } +} + +dependencies { + implementation 'androidx.core:core-ktx:1.13.1' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'com.google.android.material:material:1.12.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'de.cketti.mailto:email-intent-builder:2.0.0' + +} \ No newline at end of file diff --git a/sender/payload.txt b/sender/payload.txt new file mode 100644 index 00000000..9ed9d009 --- /dev/null +++ b/sender/payload.txt @@ -0,0 +1,7 @@ +title: Славные парни +year: 2016 +description: Что бывает, когда напарником брутального костолома становится субтильный лопух? Наемный охранник Джексон Хили и частный детектив Холланд Марч вынуждены работать в паре, чтобы распутать плевое дело о пропавшей девушке, которое оборачивается преступлением века. Смогут ли парни разгадать сложный ребус, если у каждого из них – свои, весьма индивидуальные методы. + +title: Интерстеллар +year: 2014 +description: Когда засуха, пыльные бури и вымирание растений приводят человечество к продовольственному кризису, коллектив исследователей и учёных отправляется сквозь червоточину (которая предположительно соединяет области пространства-времени через большое расстояние) в путешествие, чтобы превзойти прежние ограничения для космических путешествий человека и найти планету с подходящими для человечества условиями. \ No newline at end of file diff --git a/sender/proguard-rules.pro b/sender/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/sender/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/sender/src/main/AndroidManifest.xml b/sender/src/main/AndroidManifest.xml new file mode 100644 index 00000000..b1def7ae --- /dev/null +++ b/sender/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sender/src/main/java/otus/gpb/homework/activities/sender/Payload.kt b/sender/src/main/java/otus/gpb/homework/activities/sender/Payload.kt new file mode 100644 index 00000000..5a0b139e --- /dev/null +++ b/sender/src/main/java/otus/gpb/homework/activities/sender/Payload.kt @@ -0,0 +1,7 @@ +package otus.gpb.homework.activities.sender + +data class Payload( + val title: String, + val year: String, + val description: String +) \ No newline at end of file diff --git a/sender/src/main/java/otus/gpb/homework/activities/sender/SenderActivity.kt b/sender/src/main/java/otus/gpb/homework/activities/sender/SenderActivity.kt new file mode 100644 index 00000000..0a9706a1 --- /dev/null +++ b/sender/src/main/java/otus/gpb/homework/activities/sender/SenderActivity.kt @@ -0,0 +1,90 @@ +package otus.gpb.homework.activities.sender + +import android.content.Intent +import android.net.Uri +import android.os.Bundle +import android.util.Log +import android.view.View +import android.widget.Button +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import de.cketti.mailto.EmailIntentBuilder +import otus.gpb.homework.activities.receiver.R + +class SenderActivity : AppCompatActivity(), View.OnClickListener { + private lateinit var btnGoogleMaps: Button + private lateinit var btnEmail: Button + private lateinit var btnReceiver: Button + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.activity_sender) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + + btnGoogleMaps = findViewById(R.id.btn_google_maps) + btnGoogleMaps.setOnClickListener(this) + + btnEmail = findViewById(R.id.btn_email) + btnEmail.setOnClickListener(this) + + btnReceiver = findViewById(R.id.btn_send) + btnReceiver.setOnClickListener(this) + } + + + override fun onClick(v: View) { + try { + when (v.id) { + R.id.btn_google_maps -> { + startActivity( + Intent(Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=restaurants")) + .setPackage("com.google.android.apps.maps") + ) + } + + R.id.btn_email -> { + + var status = EmailIntentBuilder.from(this) + .to("android@otus.ru") + .subject("ДЗ Activity_02") + .body("Тело сообщения") + .start() + } + + R.id.btn_send -> { + // todo: Переделать ради интереса на Parcelable. Добавить новый модуль common с Payload + методами десереализации + val intent: Intent = Intent("otus.intent.payload") + intent.type = "text/plain" + intent.addCategory(Intent.CATEGORY_DEFAULT) + + val payload = Payload( + "Интерстеллар", + "2014", + " Когда засуха, пыльные бури и вымирание растений приводят человечество к продовольственному кризису, коллектив исследователей и учёных отправляется сквозь червоточину (которая предположительно соединяет области пространства-времени через большое расстояние) в путешествие, чтобы превзойти прежние ограничения для космических путешествий человека и найти планету с подходящими для человечества условиями." + ) + + val bundle = Bundle() + + bundle.putString("title", payload.title) + bundle.putString("year", payload.year) + bundle.putString("description", payload.description) + + intent.putExtra("payload", bundle) + + startActivity(intent) + } + } + } catch (ex: Exception) { + Log.d("Компонент " + v.resources.getResourceEntryName(v.id), ex.message.toString()) + } + + } + +} \ No newline at end of file diff --git a/sender/src/main/res/drawable-v24/ic_launcher_foreground.xml b/sender/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..2b068d11 --- /dev/null +++ b/sender/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/sender/src/main/res/drawable/ic_launcher_background.xml b/sender/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..07d5da9c --- /dev/null +++ b/sender/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sender/src/main/res/layout/activity_sender.xml b/sender/src/main/res/layout/activity_sender.xml new file mode 100644 index 00000000..88010a91 --- /dev/null +++ b/sender/src/main/res/layout/activity_sender.xml @@ -0,0 +1,46 @@ + + + + + + + + + + \ No newline at end of file diff --git a/sender/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/sender/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..eca70cfe --- /dev/null +++ b/sender/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/sender/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/sender/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..eca70cfe --- /dev/null +++ b/sender/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/sender/src/main/res/mipmap-hdpi/ic_launcher.webp b/sender/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 00000000..c209e78e Binary files /dev/null and b/sender/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/sender/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/sender/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 00000000..b2dfe3d1 Binary files /dev/null and b/sender/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/sender/src/main/res/mipmap-mdpi/ic_launcher.webp b/sender/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 00000000..4f0f1d64 Binary files /dev/null and b/sender/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/sender/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/sender/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 00000000..62b611da Binary files /dev/null and b/sender/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/sender/src/main/res/mipmap-xhdpi/ic_launcher.webp b/sender/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 00000000..948a3070 Binary files /dev/null and b/sender/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/sender/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/sender/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 00000000..1b9a6956 Binary files /dev/null and b/sender/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/sender/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/sender/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 00000000..28d4b77f Binary files /dev/null and b/sender/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/sender/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/sender/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 00000000..9287f508 Binary files /dev/null and b/sender/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/sender/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/sender/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 00000000..aa7d6427 Binary files /dev/null and b/sender/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/sender/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/sender/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 00000000..9126ae37 Binary files /dev/null and b/sender/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/sender/src/main/res/values-night/themes.xml b/sender/src/main/res/values-night/themes.xml new file mode 100644 index 00000000..b34635aa --- /dev/null +++ b/sender/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/sender/src/main/res/values/colors.xml b/sender/src/main/res/values/colors.xml new file mode 100644 index 00000000..f8c6127d --- /dev/null +++ b/sender/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/sender/src/main/res/values/strings.xml b/sender/src/main/res/values/strings.xml new file mode 100644 index 00000000..41dc2ac0 --- /dev/null +++ b/sender/src/main/res/values/strings.xml @@ -0,0 +1,6 @@ + + Sender + To Google Maps + Send Email + Open Receiver + \ No newline at end of file diff --git a/sender/src/main/res/values/themes.xml b/sender/src/main/res/values/themes.xml new file mode 100644 index 00000000..49485436 --- /dev/null +++ b/sender/src/main/res/values/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index d84a9a21..8d8594c3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -13,4 +13,5 @@ dependencyResolutionManagement { } } rootProject.name = "Activities" -include ':app' +include ':sender' +include ':receiver'