From a2a118a322b25701f3f01a0ae8332f53155bfd78 Mon Sep 17 00:00:00 2001 From: mandharet Date: Tue, 1 Mar 2022 14:43:19 +0530 Subject: [PATCH 1/2] Create Grievance Form --- .idea/misc.xml | 13 ++- app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 5 + .../com/harshad/projectclean/CreatePost.kt | 67 ++++++++++++++ .../harshad/projectclean/DisplayGrievance.kt | 4 +- .../com/harshad/projectclean/LoginActivity.kt | 48 ++++------ .../com/harshad/projectclean/MainActivity.kt | 12 +++ .../com/harshad/projectclean/ProfileSetup.kt | 13 +-- .../GrievanceRecycleViewAdapter.kt | 3 +- .../main/res/layout/activity_create_post.xml | 91 +++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 61 +++++++++---- app/src/main/res/layout/list_item.xml | 10 ++ .../res/layout/single_grievance_item_view.xml | 2 +- app/src/main/res/values/colors.xml | 4 + app/src/main/res/values/strings.xml | 5 + 15 files changed, 274 insertions(+), 65 deletions(-) create mode 100644 app/src/main/java/com/harshad/projectclean/CreatePost.kt create mode 100644 app/src/main/res/layout/activity_create_post.xml create mode 100644 app/src/main/res/layout/list_item.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 04aea34..502371b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,11 +3,14 @@ diff --git a/app/build.gradle b/app/build.gradle index 88dd6ff..e16d516 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,6 +24,7 @@ android { } buildFeatures { viewBinding true + dataBinding true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e6d8769..2d6d81a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,8 @@ package="com.harshad.projectclean"> + + diff --git a/app/src/main/java/com/harshad/projectclean/CreatePost.kt b/app/src/main/java/com/harshad/projectclean/CreatePost.kt new file mode 100644 index 0000000..759cadc --- /dev/null +++ b/app/src/main/java/com/harshad/projectclean/CreatePost.kt @@ -0,0 +1,67 @@ +package com.harshad.projectclean + +import android.app.Activity +import android.content.Intent +import android.os.Bundle +import android.os.Environment +import android.util.Log +import android.widget.AdapterView.OnItemClickListener +import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import androidx.core.net.toFile +import com.github.dhaval2404.imagepicker.ImagePicker +import com.harshad.projectclean.databinding.ActivityCreatePostBinding + + +class CreatePost : AppCompatActivity() { + private lateinit var binding: ActivityCreatePostBinding + + val items = arrayOf("Option 1", "Option 2", "Option 3") + lateinit var actv :AutoCompleteTextView + lateinit var adapterItems : ArrayAdapter + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityCreatePostBinding.inflate(layoutInflater) + val view = binding.root + setContentView(view) + + actv = binding.dropMenu + + adapterItems = ArrayAdapter(this,R.layout.list_item,items) + actv.setAdapter(adapterItems) + + actv.setOnItemClickListener(OnItemClickListener { parent, view, position, id -> + val item = parent.getItemAtPosition(position).toString() + Toast.makeText(applicationContext, "Item: $item", Toast.LENGTH_SHORT).show() + }) + + + + ImagePicker.with(this).galleryMimeTypes(arrayOf("image/*")) + .compress(1024) + .saveDir(getExternalFilesDir(Environment.DIRECTORY_PICTURES)!! + ).start() + + + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + + if(resultCode== Activity.RESULT_OK && requestCode== ImagePicker.REQUEST_CODE) { + + +// binding.ivGriImg.setImageBitmap() + binding.ivGriImg.setImageURI(data?.data) + + Log.d("Asach","${data?.data}") +// var s1= data?.data?.toFile() +// Log.d("Bdach",s1.toString()) + + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/harshad/projectclean/DisplayGrievance.kt b/app/src/main/java/com/harshad/projectclean/DisplayGrievance.kt index 46f6e77..da5862e 100644 --- a/app/src/main/java/com/harshad/projectclean/DisplayGrievance.kt +++ b/app/src/main/java/com/harshad/projectclean/DisplayGrievance.kt @@ -24,7 +24,7 @@ class DisplayGrievance : AppCompatActivity() { fun getGriData(context:Context){ var apiClient: ApiClient = ApiClient() var sharedPref = getSharedPreferences("SP", Context.MODE_PRIVATE) - apiClient.grievanceApiRequests().getGrievanceData(token = "Token ${sharedPref.getString("auth_token","No auth token").toString()}") + apiClient.grievanceApiRequests().getGrievanceData(token = "Token 5de1b0199b814610bb91a7328e7eccabdfff4c8c") .enqueue(object: Callback { override fun onResponse( call: Call, @@ -35,7 +35,7 @@ class DisplayGrievance : AppCompatActivity() { var recy_grievance_list = findViewById(R.id.recy_grievance_list) recy_grievance_list.adapter = GrievanceRecycleViewAdapter(context,gri_resposne!!.gri_data) recy_grievance_list.layoutManager = LinearLayoutManager(context) - Log.d("Gri Data","Response Success ${gri_resposne?.gri_data}") + Log.d("Gri Data","Response Success ${gri_resposne.gri_data}") } override fun onFailure(call: Call, t: Throwable) { diff --git a/app/src/main/java/com/harshad/projectclean/LoginActivity.kt b/app/src/main/java/com/harshad/projectclean/LoginActivity.kt index 8fcd74c..41e29ce 100644 --- a/app/src/main/java/com/harshad/projectclean/LoginActivity.kt +++ b/app/src/main/java/com/harshad/projectclean/LoginActivity.kt @@ -5,10 +5,6 @@ import android.content.Intent import android.content.SharedPreferences import androidx.appcompat.app.AppCompatActivity import android.os.Bundle -import android.util.Log -import android.widget.Button -import android.widget.CheckBox -import android.widget.TextView import android.widget.Toast import com.harshad.projectclean.APIRequests.ApiClient import com.harshad.projectclean.APIRequests.authentication_data_class.LoginRequest @@ -17,10 +13,9 @@ import com.harshad.projectclean.databinding.ActivityLoginBinding import retrofit2.Call import retrofit2.Callback import retrofit2.Response -import kotlin.math.log class LoginActivity : AppCompatActivity() { - lateinit var sharedPref: SharedPreferences + lateinit var sharedPref : SharedPreferences private var isRemembered = false private lateinit var binding: ActivityLoginBinding @@ -32,7 +27,7 @@ class LoginActivity : AppCompatActivity() { val view = binding.root setContentView(view) - binding.textRegister.setOnClickListener { + binding.textRegister.setOnClickListener{ val intent = Intent(this, RegisterActivity::class.java) startActivity(intent) finish() @@ -41,16 +36,14 @@ class LoginActivity : AppCompatActivity() { sharedPref = getSharedPreferences("SP", Context.MODE_PRIVATE) - binding.btnLogin.setOnClickListener { - if (binding.edUsername.text.trim().isNotEmpty() || binding.edPassword.text.trim() - .isNotEmpty() - ) { - val username: String = binding.edUsername.text.trim().toString() - val password: String = binding.edPassword.text.trim().toString() + binding.btnLogin.setOnClickListener{ + if(binding.edUsername.text.trim().isNotEmpty() || binding.edPassword.text.trim().isNotEmpty()){ + val username:String = binding.edUsername.text.trim().toString() + val password:String = binding.edPassword.text.trim().toString() validate() - login(this, username, password) + login(this,username,password) - val editor: SharedPreferences.Editor = sharedPref.edit() + val editor : SharedPreferences.Editor = sharedPref.edit() //editor.putString("username", username) //editor.putString("pass", password) editor.putBoolean("REMEMBER", true) @@ -60,11 +53,13 @@ class LoginActivity : AppCompatActivity() { //Toast.makeText(this,"Remember",Toast.LENGTH_LONG).show() + val intent = Intent(this, MainActivity::class.java) startActivity(intent) finish() - } else { - Toast.makeText(this, "Enter Info", Toast.LENGTH_LONG).show() + } + else{ + Toast.makeText(this,"Enter Info",Toast.LENGTH_LONG).show() } } } @@ -73,33 +68,30 @@ class LoginActivity : AppCompatActivity() { val apiClient: ApiClient = ApiClient() val editor: SharedPreferences.Editor = sharedPref.edit() - apiClient.authenticationApiRequests() - .login(LoginRequest(email = email, password = password)) - .enqueue(object : Callback { + apiClient.authenticationApiRequests().login(LoginRequest(email = email,password = password)) + .enqueue(object :Callback{ override fun onResponse( call: Call, response: Response ) { val loginResponse = response.body() - if (loginResponse?.auth_token != null) { + if(loginResponse?.auth_token != null){ editor.putString("auth_token", loginResponse.auth_token) editor.apply() - Toast.makeText( - context, - "Successful Login ${loginResponse.auth_token}", - Toast.LENGTH_LONG - ).show() + Toast.makeText(context,"Successful Login ${loginResponse.auth_token}",Toast.LENGTH_LONG).show() } } override fun onFailure(call: Call, t: Throwable) { - Toast.makeText(context, "Login Unsuccessful", Toast.LENGTH_LONG).show() + Toast.makeText(context,"Login Unsuccessful",Toast.LENGTH_LONG).show() } }) } - fun validate(): Boolean { + + + fun validate(): Boolean { if (binding.edUsername.text.trim().isNotEmpty() || binding.edPassword.text.trim() .isNotEmpty() ) { diff --git a/app/src/main/java/com/harshad/projectclean/MainActivity.kt b/app/src/main/java/com/harshad/projectclean/MainActivity.kt index 199c33c..a9f59e7 100644 --- a/app/src/main/java/com/harshad/projectclean/MainActivity.kt +++ b/app/src/main/java/com/harshad/projectclean/MainActivity.kt @@ -31,6 +31,18 @@ class MainActivity : AppCompatActivity() { finish() } + binding.fabNew.setOnClickListener { + val intent = Intent(this, CreatePost::class.java) + startActivity(intent) + finish() + } + + binding.btnProfileSetup.setOnClickListener { + val intent = Intent(this, ProfileSetup::class.java) + startActivity(intent) + finish() + } + binding.btnLogin.setOnClickListener{ val intent = Intent(this, LoginActivity::class.java) startActivity(intent) diff --git a/app/src/main/java/com/harshad/projectclean/ProfileSetup.kt b/app/src/main/java/com/harshad/projectclean/ProfileSetup.kt index 879dc06..686abeb 100644 --- a/app/src/main/java/com/harshad/projectclean/ProfileSetup.kt +++ b/app/src/main/java/com/harshad/projectclean/ProfileSetup.kt @@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.Environment import android.util.Log +import androidx.core.net.toFile import com.github.dhaval2404.imagepicker.ImagePicker import com.harshad.projectclean.databinding.ActivityProfileSetupBinding @@ -32,11 +33,8 @@ class ProfileSetup : AppCompatActivity() { finish() } binding.fabImg.setOnClickListener { - ImagePicker.with(this).crop(1f, 1f).galleryMimeTypes(arrayOf("image/*")) - .maxResultSize(720, 720).saveDir( - getExternalFilesDir( - Environment.DIRECTORY_PICTURES - )!! + ImagePicker.with(this).galleryMimeTypes(arrayOf("image/*")) + .maxResultSize(128, 128).saveDir(getExternalFilesDir(Environment.DIRECTORY_PICTURES)!! ).start() } @@ -51,9 +49,8 @@ class ProfileSetup : AppCompatActivity() { binding.profileImage.setImageURI(data?.data) Log.d("Asach","${data?.data}") - var s1:String - s1 = data?.data.toString() - Log.d("Bdach",s1) + var s1= data?.data?.toFile() + Log.d("Bdach",s1.toString()) } diff --git a/app/src/main/java/com/harshad/projectclean/grievance_recycler_view_classes/GrievanceRecycleViewAdapter.kt b/app/src/main/java/com/harshad/projectclean/grievance_recycler_view_classes/GrievanceRecycleViewAdapter.kt index 4483484..4dd009e 100644 --- a/app/src/main/java/com/harshad/projectclean/grievance_recycler_view_classes/GrievanceRecycleViewAdapter.kt +++ b/app/src/main/java/com/harshad/projectclean/grievance_recycler_view_classes/GrievanceRecycleViewAdapter.kt @@ -1,7 +1,6 @@ package com.harshad.projectclean.grievance_recycler_view_classes import android.content.Context -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -22,7 +21,7 @@ class GrievanceRecycleViewAdapter(private val context: Context, private val grie } override fun onBindViewHolder(holder: GrievanceViewHolder, position: Int) { - Glide.with(context).load(grievance_list[position].gri_img).into(holder.gri_img) + Glide.with(context).load("${URLConstants.BASE_URL}${grievance_list[position].gri_img}").into(holder.gri_img) holder.gri_title.text = grievance_list[position].gri_title holder.gri_desc.text = grievance_list[position].gri_desc diff --git a/app/src/main/res/layout/activity_create_post.xml b/app/src/main/res/layout/activity_create_post.xml new file mode 100644 index 0000000..6d0550b --- /dev/null +++ b/app/src/main/res/layout/activity_create_post.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + +