From c80f31b2ff5b14609ae5924c6dfb955e579acb3a Mon Sep 17 00:00:00 2001 From: Krishna Suravarapu Date: Thu, 11 Jun 2020 21:16:19 +0530 Subject: [PATCH 1/2] Name Change --- .idea/.name | 2 +- .idea/render.experimental.xml | 6 + .idea/vcs.xml | 6 + .../ExampleInstrumentedTest.kt | 2 +- app/src/main/AndroidManifest.xml | 14 +- .../example/{mynav => SMSManager}/Database.kt | 15 +- .../SMSManager/adapters/CategoryAdapter.kt | 34 ++++ .../adapters/FilterAdapter.kt | 21 +-- .../adapters/IndividualAdapter.kt | 6 +- .../adapters/MsgAdapter.kt | 36 ++--- .../adapters/ViewPagerAdapter.kt | 17 +- .../fragments/KnownFrag.kt | 11 +- .../fragments/UnknownFrag.kt | 13 +- .../{mynav => SMSManager}/objects/Contact.kt | 2 +- .../{mynav => SMSManager}/objects/MsgList.kt | 2 +- .../{mynav => SMSManager}/objects/MsgObj.kt | 2 +- .../receiver/SMSRecvd.kt | 15 +- .../{mynav => SMSManager}/util/AddCategory.kt | 29 +++- .../{mynav => SMSManager}/util/AddFilter.kt | 42 +++-- .../util/MainActivity.kt | 150 +++++++++++------- .../util/MessageScreen.kt | 68 ++++---- .../drawable-v24/.idea/codeStyles/Project.xml | 116 ++++++++++++++ .../main/res/drawable-v24/.idea/modules.xml | 8 + app/src/main/res/drawable-v24/.idea/vcs.xml | 6 + .../main/res/drawable-v24/.idea/workspace.xml | 77 +++++++++ app/src/main/res/drawable-v24/account.png | Bin 0 -> 7841 bytes ...baseline_add_circle_outline_black_18dp.png | Bin 0 -> 516 bytes app/src/main/res/drawable/bg.xml | 12 +- app/src/main/res/drawable/gradient.xml | 10 ++ app/src/main/res/layout/activity_main.xml | 25 +-- .../res/layout/activity_message_screen2.xml | 2 +- app/src/main/res/layout/add_category.xml | 44 +++-- app/src/main/res/layout/add_filter.xml | 4 +- app/src/main/res/layout/cat_recyclerview.xml | 31 ++++ app/src/main/res/layout/individual_card.xml | 4 +- app/src/main/res/layout/newlay.xml | 29 ---- app/src/main/res/layout/other_rv.xml | 19 +++ app/src/main/res/layout/recyclerviewobj.xml | 8 +- app/src/main/res/values-v21/styles.xml | 11 ++ app/src/main/res/values/colors.xml | 6 +- app/src/main/res/values/strings.xml | 4 +- app/src/main/res/values/styles.xml | 3 +- .../{mynav => SMSManager}/ExampleUnitTest.kt | 2 +- settings.gradle | 2 +- 44 files changed, 655 insertions(+), 261 deletions(-) create mode 100644 .idea/render.experimental.xml create mode 100644 .idea/vcs.xml rename app/src/androidTest/java/com/example/{mynav => SMSManager}/ExampleInstrumentedTest.kt (95%) rename app/src/main/java/com/example/{mynav => SMSManager}/Database.kt (54%) create mode 100644 app/src/main/java/com/example/SMSManager/adapters/CategoryAdapter.kt rename app/src/main/java/com/example/{mynav => SMSManager}/adapters/FilterAdapter.kt (65%) rename app/src/main/java/com/example/{mynav => SMSManager}/adapters/IndividualAdapter.kt (80%) rename app/src/main/java/com/example/{mynav => SMSManager}/adapters/MsgAdapter.kt (58%) rename app/src/main/java/com/example/{mynav => SMSManager}/adapters/ViewPagerAdapter.kt (67%) rename app/src/main/java/com/example/{mynav => SMSManager}/fragments/KnownFrag.kt (76%) rename app/src/main/java/com/example/{mynav => SMSManager}/fragments/UnknownFrag.kt (71%) rename app/src/main/java/com/example/{mynav => SMSManager}/objects/Contact.kt (76%) rename app/src/main/java/com/example/{mynav => SMSManager}/objects/MsgList.kt (71%) rename app/src/main/java/com/example/{mynav => SMSManager}/objects/MsgObj.kt (81%) rename app/src/main/java/com/example/{mynav => SMSManager}/receiver/SMSRecvd.kt (60%) rename app/src/main/java/com/example/{mynav => SMSManager}/util/AddCategory.kt (55%) rename app/src/main/java/com/example/{mynav => SMSManager}/util/AddFilter.kt (81%) rename app/src/main/java/com/example/{mynav => SMSManager}/util/MainActivity.kt (71%) rename app/src/main/java/com/example/{mynav => SMSManager}/util/MessageScreen.kt (54%) create mode 100644 app/src/main/res/drawable-v24/.idea/codeStyles/Project.xml create mode 100644 app/src/main/res/drawable-v24/.idea/modules.xml create mode 100644 app/src/main/res/drawable-v24/.idea/vcs.xml create mode 100644 app/src/main/res/drawable-v24/.idea/workspace.xml create mode 100644 app/src/main/res/drawable-v24/account.png create mode 100644 app/src/main/res/drawable-v24/baseline_add_circle_outline_black_18dp.png create mode 100644 app/src/main/res/drawable/gradient.xml create mode 100644 app/src/main/res/layout/cat_recyclerview.xml delete mode 100644 app/src/main/res/layout/newlay.xml create mode 100644 app/src/main/res/layout/other_rv.xml create mode 100644 app/src/main/res/values-v21/styles.xml rename app/src/test/java/com/example/{mynav => SMSManager}/ExampleUnitTest.kt (91%) diff --git a/.idea/.name b/.idea/.name index fbadc2f..a6bd309 100644 --- a/.idea/.name +++ b/.idea/.name @@ -1 +1 @@ -My Nav \ No newline at end of file +SMS Manager \ No newline at end of file diff --git a/.idea/render.experimental.xml b/.idea/render.experimental.xml new file mode 100644 index 0000000..8ec256a --- /dev/null +++ b/.idea/render.experimental.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/androidTest/java/com/example/mynav/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/example/SMSManager/ExampleInstrumentedTest.kt similarity index 95% rename from app/src/androidTest/java/com/example/mynav/ExampleInstrumentedTest.kt rename to app/src/androidTest/java/com/example/SMSManager/ExampleInstrumentedTest.kt index abbad4c..7cbd791 100644 --- a/app/src/androidTest/java/com/example/mynav/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/com/example/SMSManager/ExampleInstrumentedTest.kt @@ -1,4 +1,4 @@ -package com.example.mynav +package com.example.SMSManager import androidx.test.platform.app.InstrumentationRegistry import androidx.test.ext.junit.runners.AndroidJUnit4 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 433fe79..7fdcc21 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.example.SMSManager"> @@ -10,24 +10,24 @@ - - + + - - + + diff --git a/app/src/main/java/com/example/mynav/Database.kt b/app/src/main/java/com/example/SMSManager/Database.kt similarity index 54% rename from app/src/main/java/com/example/mynav/Database.kt rename to app/src/main/java/com/example/SMSManager/Database.kt index 9cd6b45..31465d0 100644 --- a/app/src/main/java/com/example/mynav/Database.kt +++ b/app/src/main/java/com/example/SMSManager/Database.kt @@ -1,22 +1,25 @@ -package com.example.mynav +package com.example.SMSManager import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper -class Database(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) { +class Database(context: Context) : SQLiteOpenHelper(context, + DATABASE_NAME, null, + DATABASE_VERSION +) { companion object { // If you change the database schema, you must increment the database version. const val DATABASE_VERSION = 1 const val DATABASE_NAME = "SMSFilters.db" } - private val CREATE_ENTRIES="CREATE TABLE "+"CATEGORIES_TABLE"+"( ID INTEGER PRIMARY KEY, "+"CATEGORY TEXT , "+"FILTER TEXT)" - private val DROP_TABLE="DROP TABLE IF EXISTS CATEGORIES_TABLE" + private val createEntries="CREATE TABLE "+"CATEGORIES_TABLE"+"( ID INTEGER PRIMARY KEY , "+"CATEGORY TEXT , "+"FILTER TEXT)" + private val dropTable="DROP TABLE IF EXISTS CATEGORIES_TABLE" override fun onCreate(db: SQLiteDatabase?) { - db?.execSQL(CREATE_ENTRIES) + db?.execSQL(createEntries) } override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) { - db?.execSQL(DROP_TABLE) + db?.execSQL(dropTable) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/SMSManager/adapters/CategoryAdapter.kt b/app/src/main/java/com/example/SMSManager/adapters/CategoryAdapter.kt new file mode 100644 index 0000000..9971dde --- /dev/null +++ b/app/src/main/java/com/example/SMSManager/adapters/CategoryAdapter.kt @@ -0,0 +1,34 @@ +package com.example.SMSManager.adapters + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.SMSManager.Database +import com.example.SMSManager.R +import kotlinx.android.synthetic.main.cat_recyclerview.view.* + +class CategoryAdapter(var category:String,var size:Int): RecyclerView.Adapter() { + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val view= LayoutInflater.from(parent.context).inflate(R.layout.cat_recyclerview,parent,false) + return ViewHolder(view) + } + + override fun getItemCount(): Int { + return size + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + holder.itemView.apply { + tv_catrv.text=category + remove_cat.setOnClickListener { + val dbHelper = + Database(holder.itemView.context) + val db = dbHelper.writableDatabase + var new= arrayOf(category) + db.delete("CATEGORIES_TABLE","CATEGORY = ? ",new) + notifyItemRemoved(position) + notifyDataSetChanged() + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mynav/adapters/FilterAdapter.kt b/app/src/main/java/com/example/SMSManager/adapters/FilterAdapter.kt similarity index 65% rename from app/src/main/java/com/example/mynav/adapters/FilterAdapter.kt rename to app/src/main/java/com/example/SMSManager/adapters/FilterAdapter.kt index d5b4cc9..84b2eed 100644 --- a/app/src/main/java/com/example/mynav/adapters/FilterAdapter.kt +++ b/app/src/main/java/com/example/SMSManager/adapters/FilterAdapter.kt @@ -1,18 +1,15 @@ -package com.example.mynav.adapters +package com.example.SMSManager.adapters -import android.content.Intent +import android.util.Log import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.example.mynav.Database -import com.example.mynav.R -import com.example.mynav.util.AddFilter -import kotlinx.android.synthetic.main.add_filter.view.* +import com.example.SMSManager.Database +import com.example.SMSManager.R import kotlinx.android.synthetic.main.filter_recyclerview.view.* -import kotlinx.android.synthetic.main.individual_card.view.* -import kotlinx.android.synthetic.main.recyclerviewobj.view.* -class FilterAdapter (var category:String,var list:MutableList): RecyclerView.Adapter(){ + +class FilterAdapter(var category:String, var list: MutableList): RecyclerView.Adapter(){ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view= LayoutInflater.from(parent.context).inflate(R.layout.filter_recyclerview,parent,false) return ViewHolder(view) @@ -26,11 +23,15 @@ class FilterAdapter (var category:String,var list:MutableList): Recycler holder.itemView.apply { tv_indfilter.text=list[position] remove_filter.setOnClickListener { - val dbHelper = Database(holder.itemView.context) + notifyDataSetChanged() + val dbHelper = + Database(holder.itemView.context) val db = dbHelper.writableDatabase var new= arrayOf(category,list[position]) + Log.d("list","removing $category 's "+list[position]) db.delete("CATEGORIES_TABLE","CATEGORY = ? AND FILTER = ?",new) list.removeAt(position) + Log.d("list",list.count().toString()) notifyItemRemoved(position) } } diff --git a/app/src/main/java/com/example/mynav/adapters/IndividualAdapter.kt b/app/src/main/java/com/example/SMSManager/adapters/IndividualAdapter.kt similarity index 80% rename from app/src/main/java/com/example/mynav/adapters/IndividualAdapter.kt rename to app/src/main/java/com/example/SMSManager/adapters/IndividualAdapter.kt index 1a0e235..e01b074 100644 --- a/app/src/main/java/com/example/mynav/adapters/IndividualAdapter.kt +++ b/app/src/main/java/com/example/SMSManager/adapters/IndividualAdapter.kt @@ -1,12 +1,12 @@ -package com.example.mynav.adapters +package com.example.SMSManager.adapters import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.example.mynav.R +import com.example.SMSManager.R import kotlinx.android.synthetic.main.individual_card.view.* -public class IndividualAdapter(var list:List): RecyclerView.Adapter() { +class IndividualAdapter(var list:List): RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view= LayoutInflater.from(parent.context).inflate(R.layout.individual_card,parent,false) return ViewHolder(view) diff --git a/app/src/main/java/com/example/mynav/adapters/MsgAdapter.kt b/app/src/main/java/com/example/SMSManager/adapters/MsgAdapter.kt similarity index 58% rename from app/src/main/java/com/example/mynav/adapters/MsgAdapter.kt rename to app/src/main/java/com/example/SMSManager/adapters/MsgAdapter.kt index 512a7b2..b4f784c 100644 --- a/app/src/main/java/com/example/mynav/adapters/MsgAdapter.kt +++ b/app/src/main/java/com/example/SMSManager/adapters/MsgAdapter.kt @@ -1,29 +1,27 @@ -package com.example.mynav.adapters +package com.example.SMSManager.adapters import android.content.Intent -import android.os.Build import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.Toast -import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat.startActivity import androidx.recyclerview.widget.RecyclerView -import com.example.mynav.objects.MsgObj -import com.example.mynav.R -import com.example.mynav.objects.MsgList -import com.example.mynav.util.MainActivity -import com.example.mynav.util.MessageScreen +import com.example.SMSManager.R +import com.example.SMSManager.objects.MsgObj +import com.example.SMSManager.util.MessageScreen import kotlinx.android.synthetic.main.recyclerviewobj.view.* + public class MsgAdapter ( var msglist:List ): RecyclerView.Adapter() { - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val view= LayoutInflater.from(parent.context).inflate(R.layout.recyclerviewobj,parent,false) + + val view = + LayoutInflater.from(parent.context).inflate(R.layout.recyclerviewobj, parent, false) + return ViewHolder(view) } @@ -35,24 +33,20 @@ public class MsgAdapter ( override fun onBindViewHolder(holder: ViewHolder, position: Int) { holder.itemView.apply { - contact.text = msglist[position].name + contact.text = msglist[position].name msg_content.text = msglist[position].message - contact.contentDescription=msglist[position].num + contact.contentDescription = msglist[position].num } holder.itemView.setOnClickListener{ //Toast.makeText(holder.itemView.context,"CLICKED ON ${msglist[position].name}",Toast.LENGTH_SHORT).show() var intent = Intent(holder.itemView.context, MessageScreen::class.java) - intent.putExtra("NAME_EXTRA","${msglist[position].name}") - intent.putExtra("LAST_MESSAGE","${msglist[position].message}") - intent.putExtra("NUMBER_EXTRA","${msglist[position].num}") + intent.putExtra("NAME_EXTRA", msglist[position].name) + intent.putExtra("LAST_MESSAGE", msglist[position].message) + intent.putExtra("NUMBER_EXTRA", msglist[position].num) startActivity(holder.itemView.context,intent,null) } } } -interface OnClickListener { - fun onClick(msgList: MsgList) -} - -public class ViewHolder (itemView: View) : RecyclerView.ViewHolder(itemView) \ No newline at end of file +public class ViewHolder (itemView: View) : RecyclerView.ViewHolder(itemView) diff --git a/app/src/main/java/com/example/mynav/adapters/ViewPagerAdapter.kt b/app/src/main/java/com/example/SMSManager/adapters/ViewPagerAdapter.kt similarity index 67% rename from app/src/main/java/com/example/mynav/adapters/ViewPagerAdapter.kt rename to app/src/main/java/com/example/SMSManager/adapters/ViewPagerAdapter.kt index 212b0a4..f921006 100644 --- a/app/src/main/java/com/example/mynav/adapters/ViewPagerAdapter.kt +++ b/app/src/main/java/com/example/SMSManager/adapters/ViewPagerAdapter.kt @@ -1,13 +1,12 @@ -package com.example.mynav.adapters +package com.example.SMSManager.adapters import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import androidx.viewpager2.adapter.FragmentStateAdapter -import com.example.mynav.fragments.KnownFrag -import com.example.mynav.fragments.UnknownFrag -import com.example.mynav.objects.MsgList -import com.example.mynav.util.MainActivity +import com.example.SMSManager.fragments.KnownFrag +import com.example.SMSManager.fragments.UnknownFrag +import com.example.SMSManager.util.MainActivity class ViewPagerAdapter (fm:FragmentManager?, lifecycle: Lifecycle): FragmentStateAdapter(fm!!,lifecycle){ override fun getItemCount(): Int { @@ -23,10 +22,12 @@ class ViewPagerAdapter (fm:FragmentManager?, lifecycle: Lifecycle): FragmentStat override fun createFragment(position: Int): Fragment { when(position){ - 0-> fragment= + 0-> fragment = KnownFrag(MainActivity.knownlist) - 1-> fragment= - UnknownFrag(MainActivity.unknownlist) + 1-> fragment = + UnknownFrag( + MainActivity.unknownlist2 + ) } return fragment!! } diff --git a/app/src/main/java/com/example/mynav/fragments/KnownFrag.kt b/app/src/main/java/com/example/SMSManager/fragments/KnownFrag.kt similarity index 76% rename from app/src/main/java/com/example/mynav/fragments/KnownFrag.kt rename to app/src/main/java/com/example/SMSManager/fragments/KnownFrag.kt index 54a5d10..4209c7e 100644 --- a/app/src/main/java/com/example/mynav/fragments/KnownFrag.kt +++ b/app/src/main/java/com/example/SMSManager/fragments/KnownFrag.kt @@ -1,21 +1,20 @@ -package com.example.mynav.fragments +package com.example.SMSManager.fragments import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager -import com.example.mynav.R -import com.example.mynav.adapters.MsgAdapter -import com.example.mynav.objects.MsgObj +import com.example.SMSManager.R +import com.example.SMSManager.adapters.MsgAdapter +import com.example.SMSManager.objects.MsgObj import kotlinx.android.synthetic.main.known_frag.* class KnownFrag(var mslist:MutableList): Fragment() { - public lateinit var msgAdapter: MsgAdapter + lateinit var msgAdapter: MsgAdapter override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/example/mynav/fragments/UnknownFrag.kt b/app/src/main/java/com/example/SMSManager/fragments/UnknownFrag.kt similarity index 71% rename from app/src/main/java/com/example/mynav/fragments/UnknownFrag.kt rename to app/src/main/java/com/example/SMSManager/fragments/UnknownFrag.kt index 005db8b..21bf621 100644 --- a/app/src/main/java/com/example/mynav/fragments/UnknownFrag.kt +++ b/app/src/main/java/com/example/SMSManager/fragments/UnknownFrag.kt @@ -1,23 +1,20 @@ -package com.example.mynav.fragments +package com.example.SMSManager.fragments import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.Toast import androidx.fragment.app.Fragment -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import com.example.mynav.R -import com.example.mynav.adapters.MsgAdapter -import com.example.mynav.objects.MsgObj +import com.example.SMSManager.R +import com.example.SMSManager.adapters.MsgAdapter +import com.example.SMSManager.objects.MsgObj import kotlinx.android.synthetic.main.unknown_frag.* class UnknownFrag(var mslist:MutableList) :Fragment() { - public lateinit var msgAdapter: MsgAdapter + lateinit var msgAdapter: MsgAdapter override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/java/com/example/mynav/objects/Contact.kt b/app/src/main/java/com/example/SMSManager/objects/Contact.kt similarity index 76% rename from app/src/main/java/com/example/mynav/objects/Contact.kt rename to app/src/main/java/com/example/SMSManager/objects/Contact.kt index 5acd9eb..b330df4 100644 --- a/app/src/main/java/com/example/mynav/objects/Contact.kt +++ b/app/src/main/java/com/example/SMSManager/objects/Contact.kt @@ -1,4 +1,4 @@ -package com.example.mynav.objects +package com.example.SMSManager.objects class Contact(val name:String,val phno:String) { override fun toString(): String { diff --git a/app/src/main/java/com/example/mynav/objects/MsgList.kt b/app/src/main/java/com/example/SMSManager/objects/MsgList.kt similarity index 71% rename from app/src/main/java/com/example/mynav/objects/MsgList.kt rename to app/src/main/java/com/example/SMSManager/objects/MsgList.kt index a87656b..e81a4b2 100644 --- a/app/src/main/java/com/example/mynav/objects/MsgList.kt +++ b/app/src/main/java/com/example/SMSManager/objects/MsgList.kt @@ -1,4 +1,4 @@ -package com.example.mynav.objects +package com.example.SMSManager.objects class MsgList(var known_msglist:MutableList, var unknown_msglist:MutableList) { diff --git a/app/src/main/java/com/example/mynav/objects/MsgObj.kt b/app/src/main/java/com/example/SMSManager/objects/MsgObj.kt similarity index 81% rename from app/src/main/java/com/example/mynav/objects/MsgObj.kt rename to app/src/main/java/com/example/SMSManager/objects/MsgObj.kt index 0b2e41e..34d0211 100644 --- a/app/src/main/java/com/example/mynav/objects/MsgObj.kt +++ b/app/src/main/java/com/example/SMSManager/objects/MsgObj.kt @@ -1,4 +1,4 @@ -package com.example.mynav.objects +package com.example.SMSManager.objects class MsgObj ( var name:String , diff --git a/app/src/main/java/com/example/mynav/receiver/SMSRecvd.kt b/app/src/main/java/com/example/SMSManager/receiver/SMSRecvd.kt similarity index 60% rename from app/src/main/java/com/example/mynav/receiver/SMSRecvd.kt rename to app/src/main/java/com/example/SMSManager/receiver/SMSRecvd.kt index a25ad38..1531063 100644 --- a/app/src/main/java/com/example/mynav/receiver/SMSRecvd.kt +++ b/app/src/main/java/com/example/SMSManager/receiver/SMSRecvd.kt @@ -1,14 +1,13 @@ -package com.example.mynav.receiver +package com.example.SMSManager.receiver import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.os.Build import android.provider.Telephony -import android.widget.Toast import androidx.annotation.RequiresApi -import com.example.mynav.objects.MsgObj -import com.example.mynav.util.MainActivity +import com.example.SMSManager.objects.MsgObj +import com.example.SMSManager.util.MainActivity class SMSRecvd: BroadcastReceiver() { @@ -17,7 +16,13 @@ class SMSRecvd: BroadcastReceiver() { var instance= MainActivity.instance() var msg= Telephony.Sms.Intents.getMessagesFromIntent(intent) - instance.addsome(MsgObj(msg[0].displayOriginatingAddress, msg[0].messageBody,"")) + instance.addsome( + MsgObj( + msg[0].displayOriginatingAddress, + msg[0].messageBody, + "" + ) + ) //instance.addsome(MsgObj("hi","hello")) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/mynav/util/AddCategory.kt b/app/src/main/java/com/example/SMSManager/util/AddCategory.kt similarity index 55% rename from app/src/main/java/com/example/mynav/util/AddCategory.kt rename to app/src/main/java/com/example/SMSManager/util/AddCategory.kt index 01a16ba..bf2c351 100644 --- a/app/src/main/java/com/example/mynav/util/AddCategory.kt +++ b/app/src/main/java/com/example/SMSManager/util/AddCategory.kt @@ -1,19 +1,22 @@ -package com.example.mynav.util +package com.example.SMSManager.util import android.content.ContentValues import android.os.Bundle import android.util.Log import android.widget.Toast import androidx.appcompat.app.AppCompatActivity -import com.example.mynav.Database -import com.example.mynav.R +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.SMSManager.Database +import com.example.SMSManager.R +import com.example.SMSManager.adapters.CategoryAdapter +import com.example.SMSManager.adapters.FilterAdapter import kotlinx.android.synthetic.main.add_category.* class AddCategory:AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.add_category) - val dbHelper=Database(this) + val dbHelper= Database(this) val db=dbHelper.writableDatabase btnFilter.setOnClickListener { Log.wtf("database","Start") @@ -29,8 +32,26 @@ class AddCategory:AppCompatActivity() { } val newrow=db.insert("CATEGORIES_TABLE",null,values) + Log.d("Row Created is ",newrow.toString()) Toast.makeText(this,"$category - $filtertext added to database",Toast.LENGTH_SHORT).show() + rv_cat_disp.adapter= + CategoryAdapter( + category, + 1 + ) + rv_cat_disp.layoutManager=LinearLayoutManager(this) + rv_filter_disp.adapter= + FilterAdapter( + category, + AddFilter.getFilterList( + category, + db + ) + ) + rv_filter_disp.layoutManager=LinearLayoutManager(this) } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/mynav/util/AddFilter.kt b/app/src/main/java/com/example/SMSManager/util/AddFilter.kt similarity index 81% rename from app/src/main/java/com/example/mynav/util/AddFilter.kt rename to app/src/main/java/com/example/SMSManager/util/AddFilter.kt index 7927449..c2d82c3 100644 --- a/app/src/main/java/com/example/mynav/util/AddFilter.kt +++ b/app/src/main/java/com/example/SMSManager/util/AddFilter.kt @@ -1,4 +1,4 @@ -package com.example.mynav.util +package com.example.SMSManager.util import android.content.ContentValues import android.database.sqlite.SQLiteDatabase @@ -10,10 +10,9 @@ import android.widget.ArrayAdapter import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.LinearLayoutManager -import com.example.mynav.Database -import com.example.mynav.R -import com.example.mynav.adapters.FilterAdapter -import com.example.mynav.adapters.IndividualAdapter +import com.example.SMSManager.Database +import com.example.SMSManager.R +import com.example.SMSManager.adapters.FilterAdapter import kotlinx.android.synthetic.main.add_filter.* public class AddFilter: AppCompatActivity() { @@ -57,8 +56,11 @@ public class AddFilter: AppCompatActivity() { val db = dbHelper.writableDatabase Log.d("database", "hello") var spinlist = arrayListOf() - spinlist.add("SELECT VALUE") - spinlist= getCategories(spinlist,db) as ArrayList + spinlist.add("SELECT SMS-BOX") + spinlist= getCategories( + spinlist, + db + ) as ArrayList // var cursor = db.query(true,"CATEGORIES_TABLE", projection, null, null, null, null, null, null) // while (cursor.moveToNext()) { // spinlist.add(cursor.getString(cursor.getColumnIndex("CATEGORY"))) @@ -86,8 +88,16 @@ public class AddFilter: AppCompatActivity() { selectedpos=position if(position!=0) { var cat = spinlist[position] - var filter=getFilterList(cat,db) - var adapter=FilterAdapter(spinlist[position],filter) + var filter= + getFilterList( + cat, + db + ) + var adapter= + FilterAdapter( + spinlist[position], + filter + ) rv_filter.adapter=adapter rv_filter.layoutManager=LinearLayoutManager(cont) @@ -106,8 +116,15 @@ public class AddFilter: AppCompatActivity() { } val newrow = db.insert("CATEGORIES_TABLE", null, values) - var filter = getFilterList(cat, db) - var adapter = FilterAdapter(spinlist[selectedpos], filter) + var filter = + getFilterList( + cat, + db + ) + var adapter = FilterAdapter( + spinlist[selectedpos], + filter + ) rv_filter.adapter = adapter rv_filter.layoutManager = LinearLayoutManager(cont) add_filter_text.text=null @@ -115,8 +132,7 @@ public class AddFilter: AppCompatActivity() { Toast.makeText(cont,"ADD SOME TEXT",Toast.LENGTH_SHORT).show() } } - } - + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/mynav/util/MainActivity.kt b/app/src/main/java/com/example/SMSManager/util/MainActivity.kt similarity index 71% rename from app/src/main/java/com/example/mynav/util/MainActivity.kt rename to app/src/main/java/com/example/SMSManager/util/MainActivity.kt index 6956767..df438e4 100644 --- a/app/src/main/java/com/example/mynav/util/MainActivity.kt +++ b/app/src/main/java/com/example/SMSManager/util/MainActivity.kt @@ -1,34 +1,24 @@ -package com.example.mynav.util +package com.example.SMSManager.util import android.Manifest -import android.annotation.SuppressLint import android.content.Intent import android.database.sqlite.SQLiteDatabase import android.net.Uri -import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.provider.ContactsContract import android.util.Log import android.view.View import android.view.View.VISIBLE -import android.widget.TextView -import android.widget.Toast -import androidx.annotation.RequiresApi import androidx.core.app.ActivityCompat import androidx.localbroadcastmanager.content.LocalBroadcastManager -import com.example.mynav.Database -import com.example.mynav.objects.MsgList -import com.example.mynav.objects.MsgObj -import com.example.mynav.R -import com.example.mynav.adapters.FilterAdapter -import com.example.mynav.adapters.MsgAdapter -import com.example.mynav.adapters.ViewPagerAdapter +import com.example.SMSManager.Database +import com.example.SMSManager.objects.MsgList +import com.example.SMSManager.objects.MsgObj +import com.example.SMSManager.R +import com.example.SMSManager.adapters.ViewPagerAdapter import com.google.android.material.tabs.TabLayoutMediator -import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton import kotlinx.android.synthetic.main.activity_main.* -import java.util.zip.Inflater -import kotlin.properties.Delegates public class MainActivity : AppCompatActivity() { @@ -36,6 +26,7 @@ public class MainActivity : AppCompatActivity() { //variables-------------------------------------------// companion object { public var unknownlist=mutableListOf() + public var unknownlist2=mutableListOf() public lateinit var inst: MainActivity public lateinit var categorylist:MutableList public lateinit var knownlist:MutableList @@ -43,17 +34,17 @@ public class MainActivity : AppCompatActivity() { public lateinit var boxlist:HashMap> public lateinit var contactlist: HashMap - public var mslist:MsgList?=null + public var mslist: MsgList?=null public fun instance() : MainActivity { return inst; } } - private val list = listOf("KNOWN","UNKNOWN") + private val list = listOf("PERSONAL","OTHERS") private lateinit var localBroadcastManager: LocalBroadcastManager - private lateinit var adapter:ViewPagerAdapter + private lateinit var adapter: ViewPagerAdapter private var reqcode: Int = 0 private var new = arrayOf( @@ -71,13 +62,13 @@ public class MainActivity : AppCompatActivity() { private fun initalise(){ - categorylist= mutableListOf() - knownlist= mutableListOf() + categorylist = mutableListOf() + knownlist = mutableListOf() msglist =HashMap>() - unknownlist= mutableListOf() + unknownlist = mutableListOf() contactlist = HashMap() - boxlist=HashMap>() - mslist=null + boxlist =HashMap>() + mslist =null } @@ -93,17 +84,25 @@ public class MainActivity : AppCompatActivity() { val dbHelper = Database(this) val db: SQLiteDatabase = dbHelper.writableDatabase var spinlist= arrayListOf() - spinlist= AddFilter.getCategories(spinlist,db) as ArrayList + spinlist= AddFilter.getCategories( + spinlist, + db + ) as ArrayList for(i in spinlist){ - unknownlist.add(MsgObj(i,"","SMSBOX")) + unknownlist.add( + MsgObj(i, "", "SMSBOX") + ) categorylist.add(i) } - saveContacts() refreshSMSbox() preparelist() - //prepareboxes(db) - mslist= MsgList(knownlist, unknownlist) + prepareboxes(db) + mslist = + MsgList( + knownlist, + unknownlist2 + ) adapter= ViewPagerAdapter( fm = supportFragmentManager, lifecycle = lifecycle @@ -147,18 +146,19 @@ public class MainActivity : AppCompatActivity() { floatingActionButton2.setOnClickListener{ floatingActionButton2.visibility= View.INVISIBLE floatingActionButton3.visibility=View.INVISIBLE - var intent= Intent(this,AddCategory::class.java) + var intent= Intent(this, AddCategory::class.java) startActivity(intent) isfb1click=false } floatingActionButton3.setOnClickListener{ floatingActionButton2.visibility= View.INVISIBLE floatingActionButton3.visibility=View.INVISIBLE - var intent= Intent(this,AddFilter::class.java) + var intent= Intent(this, AddFilter::class.java) startActivity(intent) isfb1click=false } - + db.close() + dbHelper.close() } override fun onPause() { @@ -166,6 +166,10 @@ public class MainActivity : AppCompatActivity() { super.onPause() } + override fun onDestroy() { + super.onDestroy() + } + override fun onStart() { inst =this super.onStart() @@ -217,7 +221,7 @@ public class MainActivity : AppCompatActivity() { msg = cursor.getString(cursor.getColumnIndex("body")) Log.d("smscheckfrom", "$name") - if(contactlist[name] !=null || (contactlist["${name.substring(3)}"]!=null&&contactlist[name] ==null)) { + if(contactlist[name] !=null || (contactlist["${name.substring(3)}"]!=null&& contactlist[name] ==null)) { Log.d("smscheckfromextendedif","${contactlist[name]}") if(msglist[name]==null){ msglist[name]= mutableListOf(msg) @@ -227,7 +231,13 @@ public class MainActivity : AppCompatActivity() { } } else{ - unknownlist.add(MsgObj("$name","$msg","$name")) + unknownlist.add( + MsgObj( + "$name", + "$msg", + "$name" + ) + ) } @@ -237,11 +247,23 @@ public class MainActivity : AppCompatActivity() { private fun preparelist(){ for((key,value) in msglist){ if(contactlist[key]!=null){ - knownlist.add(MsgObj(contactlist[key]!!,value.first(),key)) + knownlist.add( + MsgObj( + contactlist[key]!!, + value.first(), + key + ) + ) Log.d("preparelist","${value.last()}") } - if((contactlist["${key.substring(3)}"]!=null&&contactlist[key] ==null)){ - knownlist.add(MsgObj(contactlist["${key.substring(3)}"]!!,value.first(),key)) + if((contactlist["${key.substring(3)}"]!=null&& contactlist[key] ==null)){ + knownlist.add( + MsgObj( + contactlist["${key.substring( + 3 + )}"]!!, value.first(), key + ) + ) Log.d("preparelist","${value.last()}") } } @@ -266,22 +288,44 @@ public class MainActivity : AppCompatActivity() { } private fun prepareboxes(db:SQLiteDatabase){ - for (cate in categorylist){ - var filters=AddFilter.getFilterList(cate,db) - for(unknown in 0..unknownlist.size){ - if(unknownlist[unknown].name in filters){ - if(boxlist[cate]==null){ - boxlist[cate]= mutableListOf(unknownlist[unknown]) - } - else{ - boxlist[cate]?.add(unknownlist[unknown]) - } - //unknownlist.removeAt(unknown) - - } - - } - } + +for (msg in unknownlist){ + var bool=false + for(cat in categorylist){ + var filterlist= + AddFilter.getFilterList( + cat, + db + ) + Log.d("filter",filterlist.toString()) + var count=0 + for(item in filterlist){ + if(msg.name.contains(item,true)){ + count++ + } + else if(msg.message.contains(item,true)){ + count++ + } + else{ + break + } + } + Log.d("count filters","Done here "+count.toString()) + if(count==filterlist.size){ + if(boxlist[cat]==null){ + boxlist[cat]= mutableListOf(msg) + } + else{ + boxlist[cat]!!.add(msg) + } + Log.d("filterlist", boxlist[msg.name].toString()) + bool=true + } + } + if(!bool){ + unknownlist2.add(msg) + } +} } diff --git a/app/src/main/java/com/example/mynav/util/MessageScreen.kt b/app/src/main/java/com/example/SMSManager/util/MessageScreen.kt similarity index 54% rename from app/src/main/java/com/example/mynav/util/MessageScreen.kt rename to app/src/main/java/com/example/SMSManager/util/MessageScreen.kt index fb6ac63..f3fc136 100644 --- a/app/src/main/java/com/example/mynav/util/MessageScreen.kt +++ b/app/src/main/java/com/example/SMSManager/util/MessageScreen.kt @@ -1,17 +1,11 @@ -package com.example.mynav.util +package com.example.SMSManager.util import androidx.appcompat.app.AppCompatActivity import android.os.Bundle -import android.util.Log -import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager -import com.example.mynav.Database -import com.example.mynav.R -import com.example.mynav.adapters.IndividualAdapter -import com.example.mynav.adapters.MsgAdapter -import com.example.mynav.fragments.UnknownFrag -import com.example.mynav.objects.MsgObj -import com.example.mynav.util.MainActivity.Companion.msglist +import com.example.SMSManager.R +import com.example.SMSManager.adapters.IndividualAdapter +import com.example.SMSManager.adapters.MsgAdapter import kotlinx.android.synthetic.main.activity_message_screen2.* import kotlinx.android.synthetic.main.unknown_frag.* @@ -32,13 +26,17 @@ class MessageScreen : AppCompatActivity() { if (listofnums == null) { var newlist = mutableListOf(message) MainActivity.msglist[num] = newlist - var adapter = IndividualAdapter(newlist) + var adapter = + IndividualAdapter(newlist) //Toast.makeText(this, MainActivity.msglist[name]!![1],Toast.LENGTH_SHORT).show() rv_individual.adapter = adapter rv_individual.layoutManager = LinearLayoutManager(this) } else { - var adapter = IndividualAdapter(listofnums) + var adapter = + IndividualAdapter( + listofnums + ) //Toast.makeText(this, MainActivity.msglist[name]!![1],Toast.LENGTH_SHORT).show() rv_individual.adapter = adapter rv_individual.layoutManager = LinearLayoutManager(this) @@ -46,28 +44,32 @@ class MessageScreen : AppCompatActivity() { } else{ setContentView(R.layout.unknown_frag) - Toast.makeText(this,"IN ELSE",Toast.LENGTH_SHORT).show() - val dbHelper = Database(this) - val db = dbHelper.writableDatabase - var categorylist= arrayListOf() - categorylist=AddFilter.getFilterList(name,db) - - var newlist= mutableListOf() - Log.d("database","Starting") - Log.d("database",categorylist.toString()) - for (msg in MainActivity.unknownlist){ - if(msg.name in categorylist){ - newlist.add(msg) - } - for(each in categorylist){ - if(msg.message.contains(each,true)){ - newlist.add(msg) - } - } - + //Toast.makeText(this,"IN ELSE",Toast.LENGTH_SHORT).show() +// val dbHelper = Database(this) +// val db = dbHelper.writableDatabase +// var categorylist= arrayListOf() +// categorylist=AddFilter.getFilterList(name,db) +// +// var newlist= mutableListOf() +// Log.d("database","Starting") +// Log.d("database",categorylist.toString()) +// for (msg in MainActivity.unknownlist){ +// if(msg.name in categorylist){ +// newlist.add(msg) +// } +// for(each in categorylist){ +// if(msg.message.contains(each,true)){ +// newlist.add(msg) +// } +// } +// +// } +// //Log.d("database","Message 0"+newlist[0].message) + var newadapter= MainActivity.boxlist[name]?.let { + MsgAdapter( + it + ) } - //Log.d("database","Message 0"+newlist[0].message) - var newadapter=MsgAdapter(newlist) rv_unknownfrag.adapter=newadapter rv_unknownfrag.layoutManager=LinearLayoutManager(this) diff --git a/app/src/main/res/drawable-v24/.idea/codeStyles/Project.xml b/app/src/main/res/drawable-v24/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/app/src/main/res/drawable-v24/.idea/modules.xml b/app/src/main/res/drawable-v24/.idea/modules.xml new file mode 100644 index 0000000..0a8c8a3 --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/.idea/vcs.xml b/app/src/main/res/drawable-v24/.idea/vcs.xml new file mode 100644 index 0000000..bc59970 --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/.idea/workspace.xml b/app/src/main/res/drawable-v24/.idea/workspace.xml new file mode 100644 index 0000000..a69fd38 --- /dev/null +++ b/app/src/main/res/drawable-v24/.idea/workspace.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1591852790578 + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/account.png b/app/src/main/res/drawable-v24/account.png new file mode 100644 index 0000000000000000000000000000000000000000..ac251367865a8ae2c557b4d381fd241e34d3de33 GIT binary patch literal 7841 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/baseline_add_circle_outline_black_18dp.png b/app/src/main/res/drawable-v24/baseline_add_circle_outline_black_18dp.png new file mode 100644 index 0000000000000000000000000000000000000000..640b484b4e6c04b46e33b429914dbecac98916b7 GIT binary patch literal 516 zcmV+f0{i`mP)Z-p!XktKVG$OC5EhHYAcPRY z>5l^r({-k~qWbs&GiT47x%bZg`6>C$9%@|U9vij90%zDo(gal4LR8EnW*9vs){uc( z6c{Bn#CSr3V;o>d6*$EeUd%mj_=mv>SeT+6Dg?xmqsFtTF~^{sn?kpkz?&&n5Geno zPGFxZU}!Qk?Kc#jn>&cQ!AChntqvn~S7xER7x4zUq2^z}Hk+6&2Ttd_Z$hZw@t|00Ry;(t2k+7jth+3dGTZo$W?Iz<6qV7<`vb(Q< zs3m$MN+Of+vXk2}JNe5SnnKhTz3Cw8Z^Bo008#hoO$$-`2^aM-L|vmdjVYd>A>Z$m z5Y;AXDBuaA_F|{#D@2tE8mgiT+GGw<4+tYRG%*{eLNpWef&D+y-;aP>*SFG+)$t^* z$*U5sG!QeX0B>^Kz#NqRWLTO)4~{1bm|)N#=bexrzmiNHN-eaz^7B0 zh3?hi1fynxxjCm|o>3!1vg9byphag6x)m;Qgbd$1zj+5M2TXQVtk?(u0000 - - - + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/gradient.xml b/app/src/main/res/drawable/gradient.xml new file mode 100644 index 0000000..4488351 --- /dev/null +++ b/app/src/main/res/drawable/gradient.xml @@ -0,0 +1,10 @@ + + + + + \ 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 bcb1561..7e81379 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -5,7 +5,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".util.MainActivity" + tools:context="com.example.SMSManager.util.MainActivity" android:orientation="vertical"> + android:src="@drawable/baseline_add_circle_outline_black_18dp" + android:scaleType="fitXY" + app:fabSize="normal" + fab:backgroundTint="#1ED761" /> @@ -47,10 +49,11 @@ android:layout_marginRight="30dp" android:layout_marginBottom="100dp" app:fabSize="mini" - android:text="Category" + android:text="ADD SMS BOX" android:clickable="true" android:focusable="true" - android:layout_marginEnd="30dp" /> + android:layout_marginEnd="30dp" + /> diff --git a/app/src/main/res/layout/activity_message_screen2.xml b/app/src/main/res/layout/activity_message_screen2.xml index 605d90b..86baec9 100644 --- a/app/src/main/res/layout/activity_message_screen2.xml +++ b/app/src/main/res/layout/activity_message_screen2.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".util.MessageScreen"> + tools:context="com.example.SMSManager.util.MessageScreen"> - - - + app:layout_constraintTop_toTopOf="parent" />