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..18e149f 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,12 +13,10 @@ 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 +26,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 +35,13 @@ 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()
- validate()
- login(this, username, password)
+ 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()
+ 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 +51,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,39 +66,28 @@ 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 {
- if (binding.edUsername.text.trim().isNotEmpty() || binding.edPassword.text.trim()
- .isNotEmpty()
- ) {
- return true
- }
- return true
- }
+
+
}
\ No newline at end of file
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/RegisterActivity.kt b/app/src/main/java/com/harshad/projectclean/RegisterActivity.kt
index bdf328f..b9d4758 100644
--- a/app/src/main/java/com/harshad/projectclean/RegisterActivity.kt
+++ b/app/src/main/java/com/harshad/projectclean/RegisterActivity.kt
@@ -9,7 +9,7 @@ import android.widget.Toast
import com.harshad.projectclean.databinding.ActivityRegisterBinding
class RegisterActivity : AppCompatActivity() {
- lateinit var sharedPref : SharedPreferences
+ lateinit var sharedPref: SharedPreferences
private lateinit var binding: ActivityRegisterBinding
@@ -21,7 +21,7 @@ class RegisterActivity : AppCompatActivity() {
- binding.textLogin.setOnClickListener{
+ binding.textLogin.setOnClickListener {
val intent = Intent(this, LoginActivity::class.java)
startActivity(intent)
finish()
@@ -30,12 +30,12 @@ class RegisterActivity : AppCompatActivity() {
sharedPref = getSharedPreferences("SP", Context.MODE_PRIVATE)
- binding.btnSignup.setOnClickListener{
- if(validate()){
- val phoneno:String = binding.edPhoneno.text.toString()
- val username:String = binding.edUsername.text.toString()
- val password:String = binding.edPassword.text.toString()
- val editor : SharedPreferences.Editor =sharedPref.edit()
+ binding.btnSignup.setOnClickListener {
+ if (validate()) {
+ val phoneno: String = binding.edPhoneno.text.toString()
+ val username: String = binding.edUsername.text.toString()
+ val password: String = binding.edPassword.text.toString()
+ val editor: SharedPreferences.Editor = sharedPref.edit()
editor.putString("username", username)
editor.putString("phoneno", phoneno)
@@ -43,20 +43,21 @@ class RegisterActivity : AppCompatActivity() {
- Toast.makeText(this,"Profile", Toast.LENGTH_LONG).show()
+ Toast.makeText(this, "Profile", Toast.LENGTH_LONG).show()
val intent = Intent(this, ProfileSetup::class.java)
// intent.putExtra("Username",username)
// intent.putExtra("Phoneno",phoneno)
startActivity(intent)
finish()
- }
- else{
- Toast.makeText(this,"Enter Info", Toast.LENGTH_LONG).show()
+ } else {
+ Toast.makeText(this, "Enter Info", Toast.LENGTH_LONG).show()
}
}
}
+
private fun validate(): Boolean {
- return (binding.edUsername.text.trim().isNotEmpty() )
+ return true
+
}
}
\ No newline at end of file
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 b46e4ca..c013e30 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -5,50 +5,73 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
+
+ app:layout_constraintTop_toTopOf="parent" />
+
+
+
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/btn_display_gri" />
+
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="@+id/btnLogout"
+ app:layout_constraintTop_toBottomOf="@+id/btn_profileSetup" />
+
+
+
+ app:layout_constraintEnd_toEndOf="parent" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item.xml b/app/src/main/res/layout/list_item.xml
new file mode 100644
index 0000000..c0355a1
--- /dev/null
+++ b/app/src/main/res/layout/list_item.xml
@@ -0,0 +1,10 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/single_grievance_item_view.xml b/app/src/main/res/layout/single_grievance_item_view.xml
index 029d2d2..e00f50f 100644
--- a/app/src/main/res/layout/single_grievance_item_view.xml
+++ b/app/src/main/res/layout/single_grievance_item_view.xml
@@ -16,7 +16,7 @@
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f8c6127..de0c260 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -4,7 +4,11 @@
#FF6200EE
#FF3700B3
#FF03DAC5
+ #FF009688
#FF018786
#FF000000
#FFFFFFFF
+ @color/teal_500
+ @color/teal_700
+ @color/teal_500
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index aa6dac9..4f6da6f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,4 +11,9 @@
Log out
Grievance
Save
+ Select Item
+ Profile Setup
+ Dscribe
+ Describe
+ Grievance Image
\ No newline at end of file