diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..aa724b7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..61a9130
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/dictionaries/rajas.xml b/.idea/dictionaries/rajas.xml
new file mode 100644
index 0000000..7cdafdf
--- /dev/null
+++ b/.idea/dictionaries/rajas.xml
@@ -0,0 +1,8 @@
+
+
+
+ developersbreach
+ simplesearchapp
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..13e2937
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..a5f05cd
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..d5d35ec
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000..850c048
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,42 @@
+plugins {
+ id 'com.android.application'
+ id 'kotlin-android'
+ id 'kotlin-android-extensions'
+}
+
+android {
+ compileSdkVersion 30
+ buildToolsVersion "30.0.2"
+
+ defaultConfig {
+ applicationId "com.developersbreach.simplesearchapp"
+ minSdkVersion 22
+ targetSdkVersion 30
+ versionCode 1
+ versionName "1.0"
+ }
+
+ 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'
+ }
+}
+
+dependencies {
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+ implementation 'androidx.core:core-ktx:1.3.2'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
+ implementation 'com.google.android.material:material:1.2.1'
+ implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/app/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/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..b7e4b98
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/developersbreach/simplesearchapp/DetailActivity.kt b/app/src/main/java/com/developersbreach/simplesearchapp/DetailActivity.kt
new file mode 100644
index 0000000..82d7d09
--- /dev/null
+++ b/app/src/main/java/com/developersbreach/simplesearchapp/DetailActivity.kt
@@ -0,0 +1,23 @@
+package com.developersbreach.simplesearchapp
+
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import android.widget.ImageView
+import android.widget.TextView
+
+class DetailActivity : AppCompatActivity() {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_detail)
+
+ val sports: Sports? = intent.getParcelableExtra("DETAIL_SPORTS_DATA")
+
+ findViewById(R.id.detail_title_text).text = sports?.title
+ findViewById(R.id.detail_subtitle_text).text = sports?.originated
+ findViewById(R.id.detail_about_text).text = sports?.about
+ sports?.icon?.let {
+ findViewById(R.id.detail_image_view).setImageResource(it)
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/developersbreach/simplesearchapp/MainActivity.kt b/app/src/main/java/com/developersbreach/simplesearchapp/MainActivity.kt
new file mode 100644
index 0000000..1c9997d
--- /dev/null
+++ b/app/src/main/java/com/developersbreach/simplesearchapp/MainActivity.kt
@@ -0,0 +1,127 @@
+package com.developersbreach.simplesearchapp
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.speech.RecognizerIntent
+import android.view.View
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.appcompat.app.AppCompatActivity
+import androidx.appcompat.widget.AppCompatEditText
+import androidx.core.widget.doOnTextChanged
+import androidx.recyclerview.widget.RecyclerView
+import java.util.*
+import kotlin.collections.ArrayList
+
+class MainActivity : AppCompatActivity(), SearchAdapter.SportsAdapterListener {
+
+ private lateinit var recyclerView: RecyclerView
+ private lateinit var searchAdapter: SearchAdapter
+ private lateinit var editText: AppCompatEditText
+ private lateinit var noSearchResultsFoundText: TextView
+ private lateinit var sportsList: List
+ private lateinit var clearQueryImageView: ImageView
+ private lateinit var voiceSearchImageView: ImageView
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_main)
+
+ recyclerView = findViewById(R.id.search_list)
+ editText = findViewById(R.id.search_edit_text)
+ noSearchResultsFoundText = findViewById(R.id.no_search_results_found_text)
+ clearQueryImageView = findViewById(R.id.clear_search_query)
+ voiceSearchImageView = findViewById(R.id.voice_search_query)
+
+ sportsList = sportsList(applicationContext)
+ attachAdapter(sportsList)
+
+ editText.doOnTextChanged { text, _, _, _ ->
+ val query = text.toString().toLowerCase(Locale.getDefault())
+ filterWithQuery(query)
+ toggleImageView(query)
+ }
+
+ voiceSearchImageView.setOnClickListener {
+ val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply {
+ putExtra(
+ RecognizerIntent.EXTRA_LANGUAGE_MODEL,
+ RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
+ )
+ }
+ startActivityForResult(intent, SPEECH_REQUEST_CODE)
+ }
+
+ clearQueryImageView.setOnClickListener {
+ editText.setText("")
+ }
+ }
+
+ private fun attachAdapter(list: List) {
+ searchAdapter = SearchAdapter(list, this)
+ recyclerView.adapter = searchAdapter
+ }
+
+ private fun filterWithQuery(query: String) {
+ if (query.isNotEmpty()) {
+ val filteredList: List = onFilterChanged(query)
+ attachAdapter(filteredList)
+ toggleRecyclerView(filteredList)
+ } else if (query.isEmpty()) {
+ attachAdapter(sportsList)
+ }
+ }
+
+ private fun onFilterChanged(filterQuery: String): List {
+ val filteredList = ArrayList()
+ for (currentSport in sportsList) {
+ if (currentSport.title.toLowerCase(Locale.getDefault()).contains(filterQuery)) {
+ filteredList.add(currentSport)
+ }
+ }
+ return filteredList
+ }
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ if (requestCode == SPEECH_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
+ val spokenText: String? =
+ data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).let { results ->
+ results?.get(0)
+ }
+ // Do something with spokenText
+ editText.setText(spokenText)
+ }
+ super.onActivityResult(requestCode, resultCode, data)
+ }
+
+ private fun toggleRecyclerView(sportsList: List) {
+ if (sportsList.isEmpty()) {
+ recyclerView.visibility = View.INVISIBLE
+ noSearchResultsFoundText.visibility = View.VISIBLE
+ } else {
+ recyclerView.visibility = View.VISIBLE
+ noSearchResultsFoundText.visibility = View.INVISIBLE
+ }
+ }
+
+ private fun toggleImageView(query: String) {
+ if (query.isNotEmpty()) {
+ clearQueryImageView.visibility = View.VISIBLE
+ voiceSearchImageView.visibility = View.INVISIBLE
+ } else if (query.isEmpty()) {
+ clearQueryImageView.visibility = View.INVISIBLE
+ voiceSearchImageView.visibility = View.VISIBLE
+ }
+ }
+
+ override fun onSportSelected(sports: Sports?) {
+ val intent = Intent(applicationContext, DetailActivity::class.java)
+ intent.putExtra("DETAIL_SPORTS_DATA", sports)
+ startActivity(intent)
+ }
+
+ companion object {
+ const val SPEECH_REQUEST_CODE = 0
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/developersbreach/simplesearchapp/SearchAdapter.kt b/app/src/main/java/com/developersbreach/simplesearchapp/SearchAdapter.kt
new file mode 100644
index 0000000..4042e6a
--- /dev/null
+++ b/app/src/main/java/com/developersbreach/simplesearchapp/SearchAdapter.kt
@@ -0,0 +1,43 @@
+package com.developersbreach.simplesearchapp
+
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+
+class SearchAdapter(
+ private val sportsList: List,
+ private val listener: SportsAdapterListener
+) : RecyclerView.Adapter() {
+
+ class SearchViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val titleTextView: TextView = itemView.findViewById(R.id.search_title_text_view)
+ val iconImageView: ImageView = itemView.findViewById(R.id.search_icon_image_view)
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SearchViewHolder {
+ return SearchViewHolder(
+ LayoutInflater.from(parent.context).inflate(
+ R.layout.item_search, parent, false
+ )
+ )
+ }
+
+ override fun onBindViewHolder(holder: SearchViewHolder, position: Int) {
+ val sports: Sports = sportsList[position]
+ holder.titleTextView.text = sports.title
+ holder.iconImageView.setImageResource(sports.icon)
+
+ holder.itemView.setOnClickListener {
+ listener.onSportSelected(sports)
+ }
+ }
+
+ override fun getItemCount() = sportsList.size
+
+ interface SportsAdapterListener {
+ fun onSportSelected(sports: Sports?)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/developersbreach/simplesearchapp/Sports.kt b/app/src/main/java/com/developersbreach/simplesearchapp/Sports.kt
new file mode 100644
index 0000000..f1238e3
--- /dev/null
+++ b/app/src/main/java/com/developersbreach/simplesearchapp/Sports.kt
@@ -0,0 +1,12 @@
+package com.developersbreach.simplesearchapp
+
+import android.os.Parcelable
+import kotlinx.android.parcel.Parcelize
+
+@Parcelize
+data class Sports(
+ val icon: Int,
+ val title: String,
+ val originated: String,
+ val about: String
+) : Parcelable
\ No newline at end of file
diff --git a/app/src/main/java/com/developersbreach/simplesearchapp/SportsData.kt b/app/src/main/java/com/developersbreach/simplesearchapp/SportsData.kt
new file mode 100644
index 0000000..051be54
--- /dev/null
+++ b/app/src/main/java/com/developersbreach/simplesearchapp/SportsData.kt
@@ -0,0 +1,81 @@
+package com.developersbreach.simplesearchapp
+
+import android.content.Context
+
+fun sportsList(context: Context): List {
+
+ return listOf(
+ Sports(
+ R.drawable.ic_rugby,
+ context.getString(R.string.title_rugby),
+ context.getString(R.string.subtitle_rugby),
+ context.getString(R.string.about_rugby)
+ ),
+ Sports(
+ R.drawable.ic_cricket,
+ context.getString(R.string.title_cricket),
+ context.getString(R.string.subtitle_cricket),
+ context.getString(R.string.about_cricket)
+ ),
+ Sports(
+ R.drawable.ic_hockey,
+ context.getString(R.string.title_hockey),
+ context.getString(R.string.subtitle_hockey),
+ context.getString(R.string.about_hockey)
+ ),
+ Sports(
+ R.drawable.ic_basketball,
+ context.getString(R.string.title_basketball),
+ context.getString(R.string.subtitle_basketball),
+ context.getString(R.string.about_basketball)
+ ),
+ Sports(
+ R.drawable.ic_volleyball,
+ context.getString(R.string.title_volleyball),
+ context.getString(R.string.subtitle_volleyball),
+ context.getString(R.string.about_volleyball)
+ ),
+ Sports(
+ R.drawable.ic_esports,
+ context.getString(R.string.title_esports),
+ context.getString(R.string.subtitle_esports),
+ context.getString(R.string.about_esports)
+ ),
+ Sports(
+ R.drawable.ic_kabaddi,
+ context.getString(R.string.title_kabbadi),
+ context.getString(R.string.subtitle_kabbadi),
+ context.getString(R.string.about_kabbadi)
+ ),
+ Sports(
+ R.drawable.ic_baseball,
+ context.getString(R.string.title_baseball),
+ context.getString(R.string.subtitle_baseball),
+ context.getString(R.string.about_baseball)
+ ),
+ Sports(
+ R.drawable.ic_mma,
+ context.getString(R.string.title_mma),
+ context.getString(R.string.subtitle_mma),
+ context.getString(R.string.about_mma)
+ ),
+ Sports(
+ R.drawable.ic_soccer,
+ context.getString(R.string.title_soccer),
+ context.getString(R.string.subtitle_soccer),
+ context.getString(R.string.about_soccer)
+ ),
+ Sports(
+ R.drawable.ic_handball,
+ context.getString(R.string.title_handball),
+ context.getString(R.string.subtitle_handball),
+ context.getString(R.string.about_handball)
+ ),
+ Sports(
+ R.drawable.ic_tennis,
+ context.getString(R.string.title_tennis),
+ context.getString(R.string.subtitle_tennis),
+ context.getString(R.string.about_tennis)
+ )
+ )
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_baseball.xml b/app/src/main/res/drawable/ic_baseball.xml
new file mode 100644
index 0000000..71de3aa
--- /dev/null
+++ b/app/src/main/res/drawable/ic_baseball.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_basketball.xml b/app/src/main/res/drawable/ic_basketball.xml
new file mode 100644
index 0000000..03e01fe
--- /dev/null
+++ b/app/src/main/res/drawable/ic_basketball.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_clear.xml b/app/src/main/res/drawable/ic_clear.xml
new file mode 100644
index 0000000..a76bf90
--- /dev/null
+++ b/app/src/main/res/drawable/ic_clear.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_cricket.xml b/app/src/main/res/drawable/ic_cricket.xml
new file mode 100644
index 0000000..0998643
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cricket.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_esports.xml b/app/src/main/res/drawable/ic_esports.xml
new file mode 100644
index 0000000..2e85489
--- /dev/null
+++ b/app/src/main/res/drawable/ic_esports.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_handball.xml b/app/src/main/res/drawable/ic_handball.xml
new file mode 100644
index 0000000..f96b43b
--- /dev/null
+++ b/app/src/main/res/drawable/ic_handball.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_hockey.xml b/app/src/main/res/drawable/ic_hockey.xml
new file mode 100644
index 0000000..e5efa55
--- /dev/null
+++ b/app/src/main/res/drawable/ic_hockey.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_kabaddi.xml b/app/src/main/res/drawable/ic_kabaddi.xml
new file mode 100644
index 0000000..6a3a8d0
--- /dev/null
+++ b/app/src/main/res/drawable/ic_kabaddi.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_mic.xml b/app/src/main/res/drawable/ic_mic.xml
new file mode 100644
index 0000000..791b475
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mic.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_mma.xml b/app/src/main/res/drawable/ic_mma.xml
new file mode 100644
index 0000000..47bd3d7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_mma.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_rugby.xml b/app/src/main/res/drawable/ic_rugby.xml
new file mode 100644
index 0000000..fdcb352
--- /dev/null
+++ b/app/src/main/res/drawable/ic_rugby.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_search.xml b/app/src/main/res/drawable/ic_search.xml
new file mode 100644
index 0000000..9eda0b7
--- /dev/null
+++ b/app/src/main/res/drawable/ic_search.xml
@@ -0,0 +1,14 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_soccer.xml b/app/src/main/res/drawable/ic_soccer.xml
new file mode 100644
index 0000000..69cf551
--- /dev/null
+++ b/app/src/main/res/drawable/ic_soccer.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_tennis.xml b/app/src/main/res/drawable/ic_tennis.xml
new file mode 100644
index 0000000..3e9f3ec
--- /dev/null
+++ b/app/src/main/res/drawable/ic_tennis.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_volleyball.xml b/app/src/main/res/drawable/ic_volleyball.xml
new file mode 100644
index 0000000..452dbf2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_volleyball.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml
new file mode 100644
index 0000000..b15b23a
--- /dev/null
+++ b/app/src/main/res/layout/activity_detail.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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
new file mode 100644
index 0000000..77c3393
--- /dev/null
+++ b/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_search.xml b/app/src/main/res/layout/item_search.xml
new file mode 100644
index 0000000..4da50e0
--- /dev/null
+++ b/app/src/main/res/layout/item_search.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/search_header_layout.xml b/app/src/main/res/layout/search_header_layout.xml
new file mode 100644
index 0000000..144aece
--- /dev/null
+++ b/app/src/main/res/layout/search_header_layout.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..a571e60
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..61da551
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..c41dd28
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..db5080a
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..6dba46d
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..da31a87
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..15ac681
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..b216f2d
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..f25a419
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..e96783c
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..9529065
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,7 @@
+
+
+ #448AFF
+ #FF9800
+ #141A20
+ #1D262E
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..b6bd06e
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,246 @@
+
+ SimpleSearchApp
+
+ Rugby
+ Cricket
+ Basketball
+ Hockey
+ Volleyball
+ Esports
+ Kabaddi
+ Baseball
+ MMA
+ Soccer
+ Handball
+ Tennis
+
+ 19th century
+ 16th century
+ December 21, 1891
+ 19th century
+ 1895
+ 1972
+ 1921
+ 1869
+ 1993
+ 1863
+ 2 December 1917
+ 1859
+
+
+ Rugby union, widely known simply as rugby, is a full contact team sport that originated in
+ England in the first half of the 19th century. One of the two codes of rugby football, it is
+ based on running with the ball in hand. In its most common form, a game is played between two
+ teams of 15 players using an oval-shaped ball on a rectangular field called a pitch. The field
+ has H-shaped goalposts at both ends.
+ Rugby union is a popular sport around the world, played by male and female players of all ages.
+ Rules do not differ between the sexes. In 2014, there were more than 6 million people playing
+ worldwide, of whom 2.36 million were registered players. World Rugby, previously called the
+ International Rugby Football Board (IRFB) and the International Rugby Board (IRB), has been
+ the governing body for rugby union since 1886, and currently has 101 countries as full members
+ and 18 associate members.
+
+
+
+ Cricket is a bat-and-ball game played between two teams of eleven players on a field at the
+ centre of which is a 20-metre (22-yard) pitch with a wicket at each end, each comprising two
+ bails balanced on three stumps. The batting side scores runs by striking the ball bowled at
+ the wicket with the bat, while the bowling and fielding side tries to prevent this and dismiss
+ each player (so they are "out"). Means of dismissal include being bowled, when the ball hits
+ the stumps and dislodges the bails, and by the fielding side catching the ball after it is
+ hit by the bat, but before it hits the ground. When ten players have been dismissed, the
+ innings ends and the teams swap roles. The game is adjudicated by two umpires, aided by a
+ third umpire and match referee in international matches. They communicate with two off-field
+ scorers who record the matches statistical information.
+
+
+
+ Basketball is a team sport in which two teams, most commonly of five players each, opposing
+ one another on a rectangular court, compete with the primary objective of shooting a basketball
+ (approximately 9.4 inches (24 cm) in diameter) through the defenders hoop (a basket 18 inches
+ (46 cm) in diameter mounted 10 feet (3.048 m) high to a backboard at each end of the court)
+ while preventing the opposing team from shooting through their own hoop. A field goal is worth
+ two points, unless made from behind the three-point line, when it is worth three. After a foul,
+ timed play stops and the player fouled or designated to shoot a technical foul is given one
+ or more one-point free throws. The team with the most points at the end of the game wins,
+ but if regulation play expires with the score tied, an additional period of play (overtime)
+ is mandated.
+ Players advance the ball by bouncing it while walking or running (dribbling) or by passing
+ it to a teammate, both of which require considerable skill. On offense, players may use a
+ variety of shots—the lay-up, the jump shot, or a dunk; on defense, they may steal the ball
+ from a dribbler, intercept passes, or block shots; either offense or defense may collect a
+ rebound, that is, a missed shot that bounces from rim or backboard. It is a violation to lift
+ or drag ones pivot foot without dribbling the ball, to carry it, or to hold the ball with
+ both hands then resume dribbling.
+
+
+
+ Hockey is a sport in which two teams play against each other by trying to manoeuvre a ball
+ or a puck into the opponents goal using a hockey stick. There are many types of hockey such
+ as bandy, field hockey, ice hockey and rink hockey.
+ In most of the world, the term hockey by itself refers to field hockey, while in Canada, the
+ United States, Russia and most of Eastern and Northern Europe, the term usually refers to ice
+ hockey.
+
+
+
+ Volleyball is a team sport in which two teams of six players are separated by a net. Each
+ team tries to score points by grounding a ball on the other teams court under organized
+ rules. It has been a part of the official program of the Summer Olympic Games since Tokyo
+ 1964.
+ The complete set of rules are extensive, but play essentially proceeds as follows: a
+ player on one of the teams begins a rally by serving the ball (tossing or releasing it
+ and then hitting it with a hand or arm), from behind the back boundary line of the court,
+ over the net, and into the receiving teams court. The receiving team must not let the
+ ball be grounded within their court. The team may touch the ball up to 3 times, but individual
+ players may not touch the ball twice consecutively. Typically, the first two touches are
+ used to set up for an attack, an attempt to direct the ball back over the net in such a way
+ that the serving team is unable to prevent it from being grounded in their court.
+
+
+
+ Esports (also known as electronic sports, e-sports, or eSports) is a form of sport competition
+ using video games. Esports often takes the form of organized, multiplayer video game
+ competitions, particularly between professional players, individually or as teams. Although
+ organized competitions have long been a part of video game culture, these were largely between
+ amateurs until the late 2000s, when participation by professional gamers and spectatorship in
+ these events through live streaming saw a large surge in popularity. By the 2010s,
+ esports was a significant factor in the video game industry, with many game developers actively
+ designing and providing funding for tournaments and other events.
+ The most common video game genres associated with esports are multiplayer online battle arena
+ (MOBA), first-person shooter (FPS), fighting, card games, battle royales, and real-time strategy
+ (RTS). Popular esport franchises include League of Legends, Dota, Counter-Strike, Overwatch,
+ Super Smash Bros., and StarCraft, among many others. Tournaments such as the League of Legends
+ World Championship, Dota 2s International, the fighting game-specific Evolution Championship
+ Series (EVO) and Intel Extreme Masters are among the most popular in esports. Many other
+ competitions use a series of league play with sponsored teams, such as the Overwatch League.
+ Although the legitimacy of esports as a true sporting competition remains in question, they
+ have been featured alongside traditional sports in some multinational events in Asia, with
+ the International Olympic Committee also having discussed their inclusion into future Olympic
+ events.
+
+
+
+ Kabaddi is a contact team sport, native to the Indian subcontinent, played between two
+ teams of seven players each. The objective of the game is for a single player on offense,
+ referred to as a "raider", to run into the opposing teams half of a court, tag out as many
+ of their defenders as possible, and return to their own half of the court, all without being
+ tackled by the defenders, and in a single breath. Points are scored tagged by the raider,
+ while the opposing team earns a point for stopping the raider. Players are taken out of the
+ game if they are tagged or tackled, but are brought back in for each point scored by their
+ team from a tag or tackle.
+ It is popular in South Asia and other surrounding Asian countries. Although accounts of
+ kabaddi appear in the histories of ancient India, the game was popularised as a competitive
+ sport in the 20th century. It is the national sport of Bangladesh. It is the state game
+ of the Indian states of Andhra Pradesh, Bihar, Haryana, Karnataka, Kerala, Maharashtra, Odisha,
+ Punjab, Tamil Nadu, Telangana, and Uttar Pradesh.
+ There are two major disciplines of kabaddi: so-called Punjabi kabaddi, also referred to as
+ circle style, comprises traditional forms of the sport that are played on a circular field
+ outdoors, while the standard style, played on a rectangular court indoors, is the discipline
+ played in major professional leagues and international competitions such as the Asian Games.
+
+
+
+ Baseball is a bat-and-ball game played between two opposing teams who take turns batting and
+ fielding. The game proceeds when a player on the fielding team, called the pitcher, throws a
+ ball which a player on the batting team tries to hit with a bat. The objective of the offensive
+ team (batting team) is to hit the ball into the field of play, allowing its players to run the
+ bases, having them advance counter-clockwise around four bases to score what are called "runs".
+ The objective of the defensive team (fielding team) is to prevent batters from becoming runners,
+ and to prevent runners advance around the bases. A run is scored when a runner legally
+ advances around the bases in order and touches home plate (the place where the player started
+ as a batter). The team that scores the most runs by the end of the game is the winner.
+ The first objective of the batting team is to have a player reach first base safely. A player
+ on the batting team who reaches first base without being called "out" can attempt to advance
+ to subsequent bases as a runner, either immediately or during teammates turns batting. The
+ fielding team tries to prevent runs by getting batters or runners "out", which forces them
+ out of the field of play. Both the pitcher and fielders have methods of getting the batting
+ teams players out. The opposing teams switch back and forth between batting and fielding;
+ the batting teams turn to bat is over once the fielding team records three outs. One turn
+ batting for each team constitutes an inning. A game is usually composed of nine innings, and
+ the team with the greater number of runs at the end of the game wins. If scores are tied at
+ the end of nine innings, extra innings are usually played. Baseball has no game clock, although
+ most games end in the ninth inning.
+
+
+
+ Mixed martial arts (MMA), sometimes referred to as cage fighting, is a full-contact combat sport
+ based on striking, grappling and ground fighting, made up from various combat sports and martial
+ arts from around the world, The first documented use of the term mixed martial arts was in a
+ review of UFC 1 by television critic Howard Rosenberg in 1993. The term gained popularity
+ when newfullcontact.com, then one of the largest websites covering the sport, hosted and
+ republished the article. The question of who actually coined the term is subject to debate.
+ During the early 20th century, various interstylistic contests took place throughout Japan
+ and in the countries of the Four Asian Tigers. In Brazil, there was the sport of Vale Tudo,
+ in which fighters from various styles fought with little to no rules. The Gracie family was
+ known to promote Vale Tudo matches as a way to promote their own Brazilian jiu-jitsu style.
+ An early high-profile mixed martial arts bout was fought in 1951, between the judoka Masahiko
+ Kimura and Brazilian jiu-jitsu founder Hélio Gracie in Brazil. In the West, the concept of
+ combining elements of multiple martial arts was popularized by Bruce Lees Jeet Kune Do during
+ the late 1960s to early 1970s. A precursor to modern MMA was the 1976 Muhammad Ali vs. Antonio
+ Inoki bout, fought between boxer Muhammad Ali and wrestler Antonio Inoki in Japan, where it
+ later inspired the foundation of Pancrase in 1993 and Pride Fighting Championships in 1997.
+
+
+
+ Association football, more commonly known as football or soccer, is a team sport played
+ with a spherical ball between two teams of 11 players. It is played by approximately 250
+ million players in over 200 countries and dependencies, making it the worlds most popular
+ sport. The game is played on a rectangular field called a pitch with a goal at each end.
+ The object of the game is to score by moving the ball beyond the goal line into the opposing
+ goal.
+ Football is played in accordance with a set of rules known as the Laws of the Game. The ball
+ is 68–70 cm (27–28 in) in circumference and known as the football. The two teams each compete
+ to get the ball into the other teams goal (between the posts and under the bar), thereby
+ scoring a goal. The team that has scored more goals at the end of the game is the winner;
+ if both teams have scored an equal number of goals then the game is a draw. Each team is led
+ by a captain who has only one official responsibility as mandated by the Laws of the Game:
+ to represent their team in the coin toss prior to kick-off or penalty kicks.
+ Players are not allowed to touch the ball with hands or arms while it is in play, except for
+ the goalkeepers within the penalty area. Other players mainly use their feet to strike or pass
+ the ball, but may also use any other part of their body except the hands and the arms. The
+ team that scores most goals by the end of the match wins. If the score is level at the end of
+ the game, either a draw is declared or the game goes into extra time or a penalty shootout
+ depending on the format of the competition.
+
+
+
+ Handball (also known as team handball, European handball or Olympic handball) is a team
+ sport in which two teams of seven players each (six outcourt players and a goalkeeper) pass
+ a ball using their hands with the aim of throwing it into the goal of the other team. A
+ standard match consists of two periods of 30 minutes, and the team that scores more goals wins.
+ Modern handball is played on a court of 40 by 20 metres (131 by 66 ft), with a goal in the
+ middle of each end. The goals are surrounded by a 6-meter (20 ft) zone where only the defending
+ goalkeeper is allowed; goals must be scored by throwing the ball from outside the zone or while
+ "diving" into it. The sport is usually played indoors, but outdoor variants exist in the forms
+ of field handball, Czech handball (which were more common in the past) and beach handball.
+ The game is fast and high-scoring: professional teams now typically score between 20 and 35
+ goals each, though lower scores were not uncommon until a few decades ago. Some players may
+ score hat tricks. Body contact is permitted: the defenders trying to stop the attackers from
+ approaching the goal. No protective equipment is mandated, but players may wear soft protective
+ bands, pads and mouth guards.
+
+
+
+ Tennis is a racket sport that can be played individually against a single opponent (singles)
+ or between two teams of two players each (doubles). Each player uses a tennis racket that is
+ strung with cord to strike a hollow rubber ball covered with felt over or around a net and
+ into the opponents court. The object of the game is to maneuver the ball in such a way that
+ the opponent is not able to play a valid return. The player who is unable to return the ball
+ will not gain a point, while the opposite player will.
+ Tennis is an Olympic sport and is played at all levels of society and at all ages. The sport
+ can be played by anyone who can hold a racket, including wheelchair users. The modern game of
+ tennis originated in Birmingham, England, in the late 19th century as lawn tennis. It had
+ close connections both to various field (lawn) games such as croquet and bowls as well as to
+ the older racket sport today called real tennis. During most of the 19th century, in fact,
+ the term tennis referred to real tennis, not lawn tennis.
+ The rules of modern tennis have changed little since the 1890s. Two exceptions are that from
+ 1908 to 1961 the server had to keep one foot on the ground at all times, and the adoption of
+ the tiebreak in the 1970s. A recent addition to professional tennis has been the adoption of
+ electronic review technology coupled with a point-challenge system, which allows a player to
+ contest the line call of a point, a system known as Hawk-Eye.
+
+ No Results Found
+ Search
+ About
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 0000000..c7f60d4
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..24d1382
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,26 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+ ext.kotlin_version = "1.4.10"
+ repositories {
+ google()
+ jcenter()
+ }
+ dependencies {
+ classpath "com.android.tools.build:gradle:4.1.0"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ google()
+ jcenter()
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 0000000..98bed16
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,21 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..f6b961f
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..f92ad5b
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu Nov 05 15:48:45 IST 2020
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
diff --git a/gradlew b/gradlew
new file mode 100644
index 0000000..cccdd3d
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..f955316
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..0c23ae2
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,2 @@
+include ':app'
+rootProject.name = "SimpleSearchApp"
\ No newline at end of file