From 2b2ad57214af666177a32b6d7416bab9e314b1e3 Mon Sep 17 00:00:00 2001 From: Rimsha Date: Wed, 6 Jul 2022 14:12:44 +0500 Subject: [PATCH 01/11] changes --- app/build.gradle | 6 + .../java/com/example/enotes/MainActivity.kt | 49 ++-- .../main/java/com/example/enotes/Text_note.kt | 112 +++++---- .../main/java/com/example/enotes/ViewNotes.kt | 186 ++++++++++++-- .../enotes/adapter/AdapterFile_attach.kt | 10 +- .../enotes/adapter/All_notes_adapter.kt | 5 +- .../example/enotes/databasehelper/DbHelper.kt | 130 +++++++--- .../com/example/enotes/models/Deleting.kt | 7 - .../com/example/enotes/models/create_note.kt | 64 +++-- app/src/main/res/layout/activity_main.xml | 4 +- .../main/res/layout/activity_text_note.xml | 230 ++++++++++-------- .../main/res/layout/activity_view_notes.xml | 8 + .../main/res/layout/itemview_show_notes.xml | 67 +++-- build.gradle | 2 + 14 files changed, 567 insertions(+), 313 deletions(-) delete mode 100644 app/src/main/java/com/example/enotes/models/Deleting.kt diff --git a/app/build.gradle b/app/build.gradle index 55700e4..dc582d4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,8 +1,11 @@ plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' + id 'kotlin-android' + id 'kotlin-android-extensions' } + android { compileSdk 32 @@ -22,6 +25,9 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + buildFeatures { + viewBinding = true + } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 diff --git a/app/src/main/java/com/example/enotes/MainActivity.kt b/app/src/main/java/com/example/enotes/MainActivity.kt index 9653f51..136a56b 100644 --- a/app/src/main/java/com/example/enotes/MainActivity.kt +++ b/app/src/main/java/com/example/enotes/MainActivity.kt @@ -18,6 +18,7 @@ import com.example.enotes.databasehelper.DbHelper import com.example.enotes.models.create_note import com.google.android.material.floatingactionbutton.FloatingActionButton import com.google.android.material.navigation.NavigationView +import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { @@ -26,12 +27,8 @@ class MainActivity : AppCompatActivity() { lateinit var adapter: All_notes_adapter lateinit var notesList: ArrayList - fun getAllNotesFromDatabase() { val db = DbHelper(this) - val show_notes = findViewById(R.id.show_notes) - show_notes.layoutManager= GridLayoutManager(this,2) - notesList = ArrayList() notesList.addAll(db.viewnote()) adapter = All_notes_adapter(notesList, this) @@ -39,25 +36,14 @@ class MainActivity : AppCompatActivity() { } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - val db = DbHelper(this) - val notesList : ArrayList = ArrayList() - - notesList.addAll(db.viewnote()) - - -// val show_notes = findViewById(R.id.show_notes) -// val adapter = All_notes_adapter(notesList,this) -// show_notes.adapter = adapter -// show_notes.layoutManager= GridLayoutManager(this,2) -// adapter.notifyDataSetChanged() + show_notes.layoutManager = GridLayoutManager(this, 2) - - val add_notes = findViewById(R.id.add_notes) - add_notes.setOnClickListener{ + add_notes.setOnClickListener { val intent = Intent(this, Text_note::class.java) startActivity(intent) @@ -65,36 +51,29 @@ class MainActivity : AppCompatActivity() { } - - - val dehaze = findViewById(R.id.dehaze) - - val drawerlayout = findViewById(R.id.my_drawer_layout) - val navView = findViewById(R.id.navview) - dehaze.setOnClickListener { - drawerlayout.openDrawer(GravityCompat.START) + my_drawer_layout.openDrawer(GravityCompat.START) } - toggle= ActionBarDrawerToggle(this,drawerlayout,R.string.open,R.string.close) + toggle = ActionBarDrawerToggle(this, my_drawer_layout, R.string.open, R.string.close) - drawerlayout.addDrawerListener(toggle) + my_drawer_layout.addDrawerListener(toggle) toggle.syncState() supportActionBar?.setDisplayHomeAsUpEnabled(true) - navView.setNavigationItemSelectedListener { - when(it.itemId){ + navview.setNavigationItemSelectedListener { + when (it.itemId) { R.id.nav_allnotes -> - Toast.makeText(applicationContext,"all notes",Toast.LENGTH_SHORT).show() + Toast.makeText(applicationContext, "all notes", Toast.LENGTH_SHORT).show() } true - when(it.itemId){ + when (it.itemId) { R.id.nav_reminders -> - Toast.makeText(applicationContext,"all reminders",Toast.LENGTH_SHORT).show() + Toast.makeText(applicationContext, "all reminders", Toast.LENGTH_SHORT).show() } @@ -105,14 +84,16 @@ class MainActivity : AppCompatActivity() { } override fun onOptionsItemSelected(item: MenuItem): Boolean { - if (toggle.onOptionsItemSelected(item)){ + if (toggle.onOptionsItemSelected(item)) { return true } return super.onOptionsItemSelected(item) } + override fun onResume() { super.onResume() getAllNotesFromDatabase() } + } \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/Text_note.kt b/app/src/main/java/com/example/enotes/Text_note.kt index d8aacce..0fa04a4 100644 --- a/app/src/main/java/com/example/enotes/Text_note.kt +++ b/app/src/main/java/com/example/enotes/Text_note.kt @@ -16,6 +16,7 @@ import android.location.Location import android.net.Uri import android.os.Build import android.os.Bundle +import android.provider.MediaStore import android.provider.OpenableColumns import android.util.Base64 import android.util.Log @@ -38,6 +39,7 @@ import com.google.android.gms.maps.model.LatLng import com.madrapps.pikolo.ColorPicker import com.madrapps.pikolo.listeners.SimpleColorSelectionListener import com.redhoodhan.draw.DrawView +import kotlinx.android.synthetic.main.dialog_draw.view.* import java.io.ByteArrayOutputStream import java.io.File import java.io.IOException @@ -64,7 +66,7 @@ class Text_note : AppCompatActivity() { var fontclr: Int = R.color.black var txtsize: Float = 16.0F var font: Int = R.font.roboto_regular - + var fontstring= "" var my_loc :String="" var addressline :String="" var lat: String="" @@ -93,7 +95,7 @@ class Text_note : AppCompatActivity() { val done = findViewById - - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_view_notes.xml b/app/src/main/res/layout/activity_view_notes.xml index 42b19c9..5a2e8b3 100644 --- a/app/src/main/res/layout/activity_view_notes.xml +++ b/app/src/main/res/layout/activity_view_notes.xml @@ -106,6 +106,14 @@ tools:spanCount="2"> + + + + diff --git a/app/src/main/res/layout/itemview_show_notes.xml b/app/src/main/res/layout/itemview_show_notes.xml index a334d5e..69ad758 100644 --- a/app/src/main/res/layout/itemview_show_notes.xml +++ b/app/src/main/res/layout/itemview_show_notes.xml @@ -1,32 +1,33 @@ - + android:elevation="5dp" + android:padding="10dp" + app:cardCornerRadius="15dp"> - + android:orientation="vertical" + android:padding="5dp"> + android:src="@drawable/bookmark_24" + app:layout_constraintBottom_toBottomOf="@id/note_tittle" + app:layout_constraintLeft_toRightOf="@id/note_tittle" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent"> @@ -37,19 +38,27 @@ android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginEnd="15dp" - android:src="@drawable/delete_24"> + android:src="@drawable/delete_24" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintRight_toRightOf="parent"> + android:textSize="15sp" + app:layout_constraintEnd_toStartOf="@id/tags" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> @@ -58,10 +67,16 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/note_tittle" - android:layout_marginLeft="12dp" + android:layout_marginStart="10dp" android:layout_marginTop="3dp" + android:layout_marginEnd="8dp" android:text="content" - android:textSize="18sp"> + android:textSize="13sp" + app:layout_constraintBottom_toTopOf="@id/note_date" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@id/note_date" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/note_tittle"> @@ -69,15 +84,17 @@ android:id="@+id/note_date" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentBottom="true" android:layout_marginLeft="12dp" android:layout_marginTop="5dp" - android:layout_marginBottom="5dp" android:text="dd/mm/yy" android:textColor="@android:color/darker_gray" - android:textSize="12sp"> + android:textSize="10sp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintLeft_toLeftOf="parent" + + > - + - + \ No newline at end of file diff --git a/build.gradle b/build.gradle index da9843d..4070875 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,8 @@ plugins { id 'org.jetbrains.kotlin.android' version '1.6.21' apply false } + + task clean(type: Delete) { delete rootProject.buildDir } \ No newline at end of file From bb923eb5c0beab8ee753d506c3daa6b54b372579 Mon Sep 17 00:00:00 2001 From: Rimsha Date: Mon, 18 Jul 2022 12:55:43 +0500 Subject: [PATCH 02/11] changesin ui,drawImages working,add multipart --- .idea/misc.xml | 1 + app/build.gradle | 7 + app/src/main/AndroidManifest.xml | 14 +- .../main/java/com/example/enotes/OpenImage.kt | 34 +++ .../main/java/com/example/enotes/Text_note.kt | 199 +++++++++++++----- .../main/java/com/example/enotes/ViewNotes.kt | 181 +++++++++------- .../enotes/adapter/AdapterFile_attach.kt | 60 +++++- .../enotes/adapter/All_notes_adapter.kt | 87 ++++++-- .../java/com/example/enotes/api/ApiClient.kt | 60 ++++++ .../java/com/example/enotes/api/ApiService.kt | 17 ++ .../example/enotes/databasehelper/DbHelper.kt | 28 ++- .../com/example/enotes/models/ImageModel.kt | 8 + .../com/example/enotes/models/create_note.kt | 13 +- app/src/main/res/drawable/back.xml | 5 + app/src/main/res/drawable/image_24.xml | 5 + .../main/res/layout/activity_open_image.xml | 32 +++ .../main/res/layout/activity_text_note.xml | 2 +- .../main/res/layout/activity_view_notes.xml | 7 +- app/src/main/res/layout/file_attach.xml | 24 +-- 19 files changed, 588 insertions(+), 196 deletions(-) create mode 100644 app/src/main/java/com/example/enotes/OpenImage.kt create mode 100644 app/src/main/java/com/example/enotes/api/ApiClient.kt create mode 100644 app/src/main/java/com/example/enotes/api/ApiService.kt create mode 100644 app/src/main/java/com/example/enotes/models/ImageModel.kt create mode 100644 app/src/main/res/drawable/back.xml create mode 100644 app/src/main/res/drawable/image_24.xml create mode 100644 app/src/main/res/layout/activity_open_image.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 2bb2b12..cb799ab 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -15,6 +15,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index dc582d4..fcbbacc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -58,4 +58,11 @@ dependencies { implementation 'com.github.Miihir79:DrawingCanvas:1.1.2' implementation 'com.github.DonghanX:Draw:v1.0.3' + // dependencies for Api integration | Retrofit 2 + implementation 'com.squareup.retrofit2:retrofit:2.9.0' + implementation 'com.squareup.retrofit2:converter-gson:2.9.0' + implementation 'com.squareup.retrofit2:converter-scalars:2.9.0' + implementation 'com.squareup.picasso:picasso:2.71828' + implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.2' + } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2e3e5ab..aecb0f7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,7 @@ + + + @@ -44,15 +49,14 @@ - - - + - - \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/OpenImage.kt b/app/src/main/java/com/example/enotes/OpenImage.kt new file mode 100644 index 0000000..d37f000 --- /dev/null +++ b/app/src/main/java/com/example/enotes/OpenImage.kt @@ -0,0 +1,34 @@ +package com.example.enotes + +import android.graphics.BitmapFactory +import android.net.Uri +import android.os.Bundle +import android.util.Base64 +import android.util.Log +import androidx.appcompat.app.AppCompatActivity +import kotlinx.android.synthetic.main.activity_open_image.* +import java.io.ByteArrayInputStream +import java.io.InputStream + + +class OpenImage : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_open_image) + + val img_uri = intent.extras!!.getString("ImageUri") + val uri: Uri= Uri.parse(img_uri) + +// +// val decodedString: ByteArray = Base64.decode(img_uri, Base64.NO_WRAP) +// val input: InputStream = ByteArrayInputStream(decodedString) +// val ext_pic = BitmapFactory.decodeStream(input) + imageview.setImageURI(uri) + + Log.e("myuri", uri.toString()) + go_back.setOnClickListener { + finish() + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/Text_note.kt b/app/src/main/java/com/example/enotes/Text_note.kt index 0fa04a4..bc86c93 100644 --- a/app/src/main/java/com/example/enotes/Text_note.kt +++ b/app/src/main/java/com/example/enotes/Text_note.kt @@ -1,24 +1,26 @@ package com.example.enotes import android.Manifest +import android.annotation.SuppressLint import android.app.AlarmManager import android.app.DatePickerDialog import android.app.PendingIntent import android.app.TimePickerDialog +import android.content.ContentValues import android.content.Context import android.content.Intent import android.content.pm.PackageManager import android.graphics.Bitmap -import android.graphics.BitmapFactory import android.location.Address import android.location.Geocoder import android.location.Location import android.net.Uri import android.os.Build import android.os.Bundle -import android.provider.MediaStore +import android.os.Environment.DIRECTORY_DCIM +import android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI +import android.provider.MediaStore.MediaColumns.* import android.provider.OpenableColumns -import android.util.Base64 import android.util.Log import android.widget.* import androidx.activity.result.contract.ActivityResultContracts @@ -30,9 +32,11 @@ import androidx.core.app.ActivityCompat import androidx.core.content.res.ResourcesCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.example.designstuff.api.ApiService import com.example.enotes.adapter.AdapterFile_attach import com.example.enotes.adapter.Adapter_img_attach import com.example.enotes.databasehelper.DbHelper +import com.example.enotes.models.ImageModel import com.google.android.gms.location.FusedLocationProviderClient import com.google.android.gms.location.LocationServices import com.google.android.gms.maps.model.LatLng @@ -40,10 +44,18 @@ import com.madrapps.pikolo.ColorPicker import com.madrapps.pikolo.listeners.SimpleColorSelectionListener import com.redhoodhan.draw.DrawView import kotlinx.android.synthetic.main.dialog_draw.view.* -import java.io.ByteArrayOutputStream +import okhttp3.MediaType.Companion.toMediaTypeOrNull +import okhttp3.MultipartBody +import okhttp3.RequestBody.Companion.asRequestBody +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response import java.io.File import java.io.IOException +import java.io.OutputStream +import java.text.SimpleDateFormat import java.util.* +import kotlin.collections.ArrayList class Text_note : AppCompatActivity() { @@ -72,6 +84,7 @@ class Text_note : AppCompatActivity() { var lat: String="" var lng:String="" + var bookmark :String="" var day=0 var month=0 @@ -82,6 +95,12 @@ class Text_note : AppCompatActivity() { var returndate2="" var reminderDateTimeInMilliseconds: Long = 0 + private lateinit var fileUri2: Uri + private lateinit var apiService: ApiService + private var catPhoto = File("") + + @SuppressLint("NotifyDataSetChanged") + @RequiresApi(Build.VERSION_CODES.Q) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_text_note) @@ -162,6 +181,9 @@ class Text_note : AppCompatActivity() { content.setTypeface(typeface) var ooo: String ="" + bookmrk.setImageResource(R.drawable.bookmark_border_24) + bookmark="untag" + mybookmrk.setOnClickListener { val view = layoutInflater.inflate(R.layout.dialog_bookmark, null) val mBuilder = AlertDialog.Builder(this) @@ -173,33 +195,39 @@ class Text_note : AppCompatActivity() { red.setOnClickListener { mAlertDialog.dismiss() bookmrk.setImageResource(R.drawable.bookmark_red) + bookmark="red" } val blue= view.findViewById(R.id.bookmrk_Travel) blue.setOnClickListener() { mAlertDialog.dismiss() bookmrk.setImageResource(R.drawable.bookmark_blue) + bookmark= "blue" } val green= view.findViewById(R.id.bookmrk_personal) green.setOnClickListener { mAlertDialog.dismiss() bookmrk.setImageResource(R.drawable.bookmark_grren) + bookmark="green" } val yellow= view.findViewById(R.id.bookmrk_life) yellow.setOnClickListener { mAlertDialog.dismiss() bookmrk.setImageResource(R.drawable.bookmark_yellow) + bookmark="yellow" } val orange= view.findViewById(R.id.bookmrk_birthday) orange.setOnClickListener { mAlertDialog.dismiss() bookmrk.setImageResource(R.drawable.bookmark_orage) + bookmark="orange" } val untag= view.findViewById(R.id.bookmrk_untag) untag.setOnClickListener { mAlertDialog.dismiss() bookmrk.setImageResource(R.drawable.bookmark_border_24) + bookmark="untag" } } @@ -566,17 +594,14 @@ class Text_note : AppCompatActivity() { val fileupload = findViewById(R.id.fileupload) val file_Name = ArrayList() val fileUriList = ArrayList() + + val arrayList = ArrayList() val file_recyclerview = findViewById(R.id.file_attach) - val file_adapter = AdapterFile_attach(fileUriList, file_Name, this) + val file_adapter = AdapterFile_attach(arrayList, this) file_recyclerview.adapter = file_adapter file_recyclerview.layoutManager = GridLayoutManager(this, 2) -// file_recyclerview.layoutManager = LinearLayoutManager(this) - -// img_recyclerview.adapter = img_adapter -// img_recyclerview.layoutManager = LinearLayoutManager(this) - my_drawing.setOnClickListener { val view = layoutInflater.inflate(R.layout.dialog_draw, null) @@ -602,16 +627,29 @@ class Text_note : AppCompatActivity() { } done.setOnClickListener { mAlertDialog.dismiss() - val myUri = getImageUri(this@Text_note, drawingView.drawing_view.saveAsBitmap()) - //val getit : String = + val myUri = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + getImageUri( drawingView.drawing_view.saveAsBitmap()) + } else { + TODO("VERSION.SDK_INT < Q") + } + myUri?.let { fileUriList.add(it) file_Name.add(it.toString()) + val name= it.toString() + val urii = it + val model:ImageModel + model= ImageModel(name,urii) + + arrayList.add(model) + + + } drawingView.isSaveEnabled file_adapter.notifyDataSetChanged() - // Log.e("getit",uri.toString()) + Log.e("getit",myUri.toString()) @@ -620,32 +658,6 @@ class Text_note : AppCompatActivity() { } - fun getFileName(uri: Uri?): String { - result = null.toString() - if (uri != null) { - if (uri.scheme == "content") { - val cursor = contentResolver.query(uri, null, null, null, null) - try { - if (cursor != null && cursor.moveToFirst()) { - result = - cursor.getString(cursor.getColumnIndexOrThrow(OpenableColumns.DISPLAY_NAME)) - } - } finally { - cursor!!.close() - } - } - } - if (result == null) { - if (uri != null) { - result = uri.path.toString() - } - val cut: Int = result.lastIndexOf('/') - if (cut != -1) { - result = result.substring(cut + 1) - } - } - return result - } // Receiver @@ -657,10 +669,16 @@ class Text_note : AppCompatActivity() { if (it.data?.data != null) { fileUri = Uri.parse(it.data!!.data.toString()) + Log.e("getit",fileUri.toString()) + fileUriList.add(fileUri) - fileName = getFileName(fileUri) - Log.e("name", fileName) - file_Name.add(fileName) + file_Name.add(fileUri.toString()) + val model:ImageModel + model= ImageModel(fileName,fileUri) + + arrayList.add(model) + + file_adapter.notifyDataSetChanged() @@ -674,12 +692,17 @@ class Text_note : AppCompatActivity() { fileUri = it.data!!.clipData!!.getItemAt(i).uri fileUriList.add(fileUri) - fileName = getFileName(fileUri) - Log.e("name", fileName) - file_Name.add(fileName) + file_Name.add(fileUri.toString()) file_adapter.notifyItemInserted(i) file_adapter.notifyDataSetChanged() + val model:ImageModel + model= ImageModel(fileName,fileUri) + + arrayList.add(model) + + + } } @@ -840,6 +863,9 @@ class Text_note : AppCompatActivity() { Log.e("clr bgg",bg_clr.toString()+" ") Log.e("clr f",fontclr.toString()+" ") Log.e("check2",returndate.toString()+" "+ returndate2) + Log.e("bookmarkss",bookmark) + val sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") + val currentDate = sdf.format(Date()) db.addNotes( text_title.text.toString(), @@ -849,25 +875,86 @@ class Text_note : AppCompatActivity() { fontclr.toString(), bg_clr.toString(), addressline, - file_Name + file_Name, + bookmark, + currentDate ) + // uploadImageToServer() finish() } } - fun getImageUri(inContext: Context, inImage: Bitmap): Uri? { - val bytes = ByteArrayOutputStream() - inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes) - val path = - MediaStore.Images.Media.insertImage( - inContext.contentResolver, - inImage, - "Title", - null + private fun uploadImageToServer() { + val builder: MultipartBody.Builder = MultipartBody.Builder() + builder.setType(MultipartBody.FORM) + + if (catPhoto.length() > 0) { + builder.addFormDataPart( + "file", + catPhoto.name, + catPhoto.asRequestBody("image/jpeg".toMediaTypeOrNull()) ) - return Uri.parse(path) + builder.addFormDataPart("sub_id", "something") + + val body = builder.build() + apiService.uploadPhoto(body).enqueue(object : Callback { + override fun onResponse( + call: Call, + response: Response + ) { + Log.d("TAG", "onResponse: ${response.body()}") + } + + override fun onFailure(call: Call, t: Throwable) { + Log.d("TAG", "onFailure: ${t.localizedMessage}") + } + + }) + } + } + + @RequiresApi(Build.VERSION_CODES.Q) +fun getImageUri(inImage: Bitmap): Uri? { +// val bytes = ByteArrayOutputStream() +// +// inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes) +// val path = +// MediaStore.Images.Media.insertImage( +// inContext.contentResolver, +// inImage, +// "Title", +// null +// ) + + val filename = "IMG_${System.currentTimeMillis()}.jpg" + var fos: OutputStream? = null + val contentValues = ContentValues().apply { + put(DISPLAY_NAME, filename) + put(MIME_TYPE, "image/png") + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + put(RELATIVE_PATH, DIRECTORY_DCIM) + } + put(IS_PENDING, 1) + } + + + //use application context to get contentResolver + val uri = contentResolver.insert(EXTERNAL_CONTENT_URI, contentValues) + uri?.let { contentResolver.openOutputStream(it) }.also { fos = it } + fos?.use { inImage.compress(Bitmap.CompressFormat.PNG, 100, it) } + fos?.flush() + fos?.close() + + contentValues.clear() + contentValues.put(IS_PENDING, 0) + + uri?.let { + contentResolver.update(it, contentValues, null, null) + } + + return uri } private fun setAlarm() { val manager = getSystemService(Context.ALARM_SERVICE) as AlarmManager diff --git a/app/src/main/java/com/example/enotes/ViewNotes.kt b/app/src/main/java/com/example/enotes/ViewNotes.kt index 7d47073..4c77286 100644 --- a/app/src/main/java/com/example/enotes/ViewNotes.kt +++ b/app/src/main/java/com/example/enotes/ViewNotes.kt @@ -4,9 +4,11 @@ import android.annotation.SuppressLint import android.graphics.Color import android.os.Bundle import android.util.Log +import android.view.View import android.widget.EditText import android.widget.ImageButton import android.widget.TextView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.cardview.widget.CardView import androidx.core.content.ContextCompat @@ -21,225 +23,244 @@ class ViewNotes : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_view_notes) - val mycontent = findViewById(R.id.text_context) val text_title = findViewById(R.id.text_title) - val bgcolor = findViewById(R.id.bgcolor) - val textfont = findViewById(R.id.textfont) - val textSize = findViewById(R.id.textsize) - val font_color = findViewById(R.id.fontcolor) val cardView = findViewById(R.id.card2) val cardView1 = findViewById(R.id.card1) + val mycontent = findViewById(R.id.text_context) val tilte = intent.extras!!.getString("title") val content = intent.extras!!.getString("content") val textsize = intent.extras!!.getString("textsize") val textclr = intent.extras!!.getString("textclr") - val fonts = intent.extras!!.getString("font") val bgclr = intent.extras!!.getString("bg") - val address= intent.extras!!.getString("address") + val address= intent.extras!!.getString("address") viewAddress.setText(address) +// to update notes + update.setOnClickListener { + update.visibility = View.GONE + view_done.visibility= View.VISIBLE + + text_title.isFocusableInTouchMode =true + text_context.isFocusableInTouchMode= true + } + + view_done.setOnClickListener { + Toast.makeText(this, "updated", Toast.LENGTH_SHORT).show() + + finish() + } +// to set fonts + showFonts() + + + Log.e("inside c",textclr.toString()) + val clr: Int =R.color.black + val bgclrr: Int =R.color.bbbb + + text_title.setTextColor(clr) + mycontent.setTextColor(clr) + + text_title.setText(tilte.toString()) + mycontent.setText(content.toString()) + + cardView1.setCardBackgroundColor(bgclrr) + cardView.setCardBackgroundColor(bgclrr) + + if (bgclr != null) { + cardView1.setCardBackgroundColor(bgclr.toInt()) + cardView.setCardBackgroundColor(bgclr.toInt()) + + if (bgclr=="2131035097"){ + Log.e("inside"," backgrnd") + + cardView1.setCardBackgroundColor(Color.WHITE) + cardView.setCardBackgroundColor(Color.WHITE) + + } + } + + + if (textclr != null) { + text_title.setTextColor(textclr.toInt()) + mycontent.setTextColor(textclr.toInt()) + if (textclr == "2131034145") { + + text_title.setTextColor(clr) + mycontent.setTextColor(clr) + } + } + + + if (textsize != null) { + mycontent.setTextSize(textsize.toFloat()) + text_title.setTextSize((textsize.toFloat()+4)) + + } + + + + } + private fun showFonts() { + val fonts = intent.extras!!.getString("font") val myfont: Int = R.font.roboto_regular - var typeface = ResourcesCompat.getFont(this, myfont) + var typeface = ResourcesCompat.getFont(this, myfont) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) if (fonts == "waver") { typeface = ResourcesCompat.getFont(this, R.font.waver) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "shadows_into_light") { typeface = ResourcesCompat.getFont(this, R.font.shadows_into_light) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "satisfy") { typeface = ResourcesCompat.getFont(this, R.font.satisfy) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "pacifico") { typeface = ResourcesCompat.getFont(this, R.font.pacifico) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "roboto_regular") { typeface = ResourcesCompat.getFont(this, R.font.roboto_regular) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "roboto_italic") { typeface = ResourcesCompat.getFont(this, R.font.roboto_italic) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "roboto_bold") { typeface = ResourcesCompat.getFont(this, R.font.roboto_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "poppins_bold") { typeface = ResourcesCompat.getFont(this, R.font.poppins_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "poppins_italic") { typeface = ResourcesCompat.getFont(this, R.font.poppins_italic) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "poppins_regular") { typeface = ResourcesCompat.getFont(this, R.font.poppins_regular) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "montserrat_reg") { typeface = ResourcesCompat.getFont(this, R.font.montserrat_reg) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "montserrat_bold") { typeface = ResourcesCompat.getFont(this, R.font.montserrat_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "montserrat_italic") { typeface = ResourcesCompat.getFont(this, R.font.montserrat_italic) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "lato_reg") { typeface = ResourcesCompat.getFont(this, R.font.lato_reg) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "lato_italic") { typeface = ResourcesCompat.getFont(this, R.font.lato_italic) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "lato_bold") { typeface = ResourcesCompat.getFont(this, R.font.lato_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "gotham_bold") { typeface = ResourcesCompat.getFont(this, R.font.gotham_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "gotham_medium_italic") { typeface = ResourcesCompat.getFont(this, R.font.gotham_medium_italic) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } - if (fonts == "gotham_medium") { + if (fonts == "gotham_medium") { typeface = ResourcesCompat.getFont(this, R.font.gotham_medium) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "dancing_script_reg") { typeface = ResourcesCompat.getFont(this, R.font.dancing_script_reg) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "dancing_script_med") { typeface = ResourcesCompat.getFont(this, R.font.dancing_script_med) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } - if (fonts == "dancing_script_bold") { + if (fonts == "dancing_script_bold") { typeface = ResourcesCompat.getFont(this, R.font.dancing_script_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "comfortaa_medium") { typeface = ResourcesCompat.getFont(this, R.font.comfortaa_medium) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "comfortaa_bold") { typeface = ResourcesCompat.getFont(this, R.font.comfortaa_bold) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) + text_context.setTypeface(typeface) } if (fonts == "comfortaa_light") { typeface = ResourcesCompat.getFont(this, R.font.comfortaa_light) text_title.setTypeface(typeface) - mycontent.setTypeface(typeface) - - } - - Log.e("inside c",textclr.toString()) - val clr: Int =R.color.black - val bgclrr: Int =R.color.bbbb - - text_title.setTextColor(clr) - mycontent.setTextColor(clr) - - text_title.setText(tilte.toString()) - mycontent.setText(content.toString()) - - cardView1.setCardBackgroundColor(bgclrr) - cardView.setCardBackgroundColor(bgclrr) - - if (bgclr != null) { - cardView1.setCardBackgroundColor(bgclr.toInt()) - cardView.setCardBackgroundColor(bgclr.toInt()) - - if (bgclr=="2131035097"){ - Log.e("inside"," backgrnd") - - cardView1.setCardBackgroundColor(Color.WHITE) - cardView.setCardBackgroundColor(Color.WHITE) - - } - } - - - if (textclr != null) { - text_title.setTextColor(textclr.toInt()) - mycontent.setTextColor(textclr.toInt()) - if (textclr == "2131034145") { + text_context.setTypeface(typeface) - text_title.setTextColor(clr) - mycontent.setTextColor(clr) - } } - - if (textsize != null) { - mycontent.setTextSize(textsize.toFloat()) - text_title.setTextSize((textsize.toFloat()+4)) - - } - } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/adapter/AdapterFile_attach.kt b/app/src/main/java/com/example/enotes/adapter/AdapterFile_attach.kt index 4adfbf2..92cc760 100644 --- a/app/src/main/java/com/example/enotes/adapter/AdapterFile_attach.kt +++ b/app/src/main/java/com/example/enotes/adapter/AdapterFile_attach.kt @@ -1,6 +1,8 @@ package com.example.enotes.adapter import android.content.Context +import android.content.DialogInterface +import android.content.Intent import android.net.Uri import android.util.Log import android.view.LayoutInflater @@ -8,14 +10,18 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView +import androidx.appcompat.app.AlertDialog +import androidx.cardview.widget.CardView import androidx.recyclerview.widget.RecyclerView +import com.example.enotes.OpenImage import com.example.enotes.R +import com.example.enotes.models.ImageModel class AdapterFile_attach( - val file_uri : List , - val file_name: ArrayList, - context: Context) + val arrayList: ArrayList, + val context: Context) : RecyclerView.Adapter(){ +// private var listData: MutableList = data as MutableList override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { @@ -25,22 +31,54 @@ class AdapterFile_attach( } override fun onBindViewHolder(holder: ViewHolder, position: Int) { - val uri: Uri = file_uri.get(position) - val name:String= file_name.get(position) - holder.image.setImageURI(uri) - holder.tv.setText(name) + val model: ImageModel = arrayList.get(position) +// +// model.uri= file_uri.get(position) +// model.name= file_name.get(position) +// val uri: Uri = file_uri.get(position) +// val name:String= file_name.get(position) + holder.image.setImageURI(model.uri) + holder.image.setOnClickListener { + val intent = Intent(context, OpenImage::class.java) + intent.putExtra("ImageUri", model.uri.toString()) - holder.tv.visibility = View.GONE - Log.e("img", uri.toString()) + context.startActivity(intent) + } + + holder.image.setOnLongClickListener{ + + val dialog = AlertDialog.Builder(context) + dialog.setTitle("Item deletion") + dialog.setMessage("Do you want to delete this item?") + dialog.setPositiveButton("Yes", DialogInterface.OnClickListener { _, _ -> + deleteItem(position) + + }) + + dialog.show() + + true + } + Log.e("img", model.uri.toString()) } - override fun getItemCount()= file_uri.size + override fun getItemCount()= arrayList.size class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){ + val card= itemView.findViewById(R.id.img_card) val image: ImageView = itemView.findViewById(R.id.attach_file) - val tv: TextView = itemView.findViewById(R.id.file_name2) + } + fun deleteItem(position: Int) { + + + arrayList.removeAt(position) + notifyItemRemoved(position) + + + Log.e("delit", "del") + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/adapter/All_notes_adapter.kt b/app/src/main/java/com/example/enotes/adapter/All_notes_adapter.kt index 57bf082..1dfb6b9 100644 --- a/app/src/main/java/com/example/enotes/adapter/All_notes_adapter.kt +++ b/app/src/main/java/com/example/enotes/adapter/All_notes_adapter.kt @@ -1,6 +1,7 @@ package com.example.enotes.adapter import android.content.Context +import android.content.DialogInterface import android.content.Intent import android.util.Log import android.view.LayoutInflater @@ -8,18 +9,27 @@ import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView +import android.widget.Toast +import androidx.appcompat.app.AlertDialog import androidx.cardview.widget.CardView import androidx.recyclerview.widget.RecyclerView import com.example.enotes.R import com.example.enotes.ViewNotes import com.example.enotes.models.create_note +import java.text.SimpleDateFormat +import java.util.* +import kotlin.collections.ArrayList -class All_notes_adapter(val arrraylist: ArrayList,val context: Context): RecyclerView.Adapter(){ +class All_notes_adapter + (val arrraylist: ArrayList, val context: Context) : + + RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val itemView = LayoutInflater.from(parent.context).inflate(R.layout.itemview_show_notes,parent,false); + val itemView = LayoutInflater.from(parent.context) + .inflate(R.layout.itemview_show_notes, parent, false); return ViewHolder(itemView) } @@ -31,30 +41,75 @@ class All_notes_adapter(val arrraylist: ArrayList,val context: Cont holder.content.setText(notes.content) holder.tittle.setText(notes.title) - // holder.tittle.setTypeface(ResourcesCompat.getFont(context, notes.text_font.toInt())) + // holder.tittle.setTypeface(ResourcesCompat.getFont(context, notes.text_font.toInt())) + val bookmark: String= notes.bookmark + if (bookmark=="red") + { + holder.tags.setImageResource(R.drawable.bookmark_red) + } + if (bookmark=="blue") + { + holder.tags.setImageResource(R.drawable.bookmark_blue) + } + if (bookmark=="green") + { + holder.tags.setImageResource(R.drawable.bookmark_grren) + } + if (bookmark=="yellow") + { + holder.tags.setImageResource(R.drawable.bookmark_yellow) + } + if (bookmark=="orange") + { + holder.tags.setImageResource(R.drawable.bookmark_orage) + } + if (bookmark=="untag") + { + holder.tags.setImageResource(R.drawable.bookmark_border_24) + } + holder.date.text= notes.currentDate holder.cardView.setOnClickListener { + + Toast.makeText(context, "Long click detected", Toast.LENGTH_SHORT).show() + val intent = Intent(context, ViewNotes::class.java) - intent.putExtra("title",notes.title) - intent.putExtra("content",notes.content) - intent.putExtra("textsize",notes.txtsize) - intent.putExtra("textclr",notes.text_clr) - intent.putExtra("font",notes.text_font) - intent.putExtra("bg",notes.bg_clr) + intent.putExtra("title", notes.title) + intent.putExtra("content", notes.content) + intent.putExtra("textsize", notes.txtsize) + intent.putExtra("textclr", notes.text_clr) + intent.putExtra("font", notes.text_font) + intent.putExtra("bg", notes.bg_clr) intent.putExtra("address", notes.address) - context.startActivity (intent) + context.startActivity(intent) Log.e("fontss", notes.bg_clr) -// } + holder.delete.setOnClickListener { + + val dialog = AlertDialog.Builder(context) + dialog.setTitle("Item deletion") + dialog.setMessage("Do you want to delete this item?") + dialog.setPositiveButton("Yes", DialogInterface.OnClickListener { _, _ -> + deleteItem(position) + + }) + + dialog.show() + + + } } - override fun getItemCount()= arrraylist.size - class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){ + + + override fun getItemCount() = arrraylist.size + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val tags: ImageView = itemView.findViewById(R.id.tags) val delete: ImageView = itemView.findViewById(R.id.delete) @@ -64,4 +119,10 @@ class All_notes_adapter(val arrraylist: ArrayList,val context: Cont val cardView: CardView = itemView.findViewById(R.id.card) } + fun deleteItem(position: Int) { + arrraylist.removeAt(position) + notifyItemRemoved(position) + Log.e("delit", "del") + + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/api/ApiClient.kt b/app/src/main/java/com/example/enotes/api/ApiClient.kt new file mode 100644 index 0000000..7f29311 --- /dev/null +++ b/app/src/main/java/com/example/enotes/api/ApiClient.kt @@ -0,0 +1,60 @@ +package com.example.designstuff.api + +import androidx.viewbinding.BuildConfig +import okhttp3.Interceptor +import okhttp3.OkHttpClient +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import java.util.concurrent.TimeUnit +import okhttp3.logging.HttpLoggingInterceptor + + +object ApiClient { + private const val BASE_URL = "https://api.thecatapi.com/v1/" + + private val client = buildClient() + private val retrofit = buildRetrofit(client) + + private fun buildRetrofit(client: OkHttpClient): Retrofit { + return Retrofit.Builder() + .baseUrl(BASE_URL) + .client(client) + .addConverterFactory(GsonConverterFactory.create()) + .build() +} + private fun buildClient(): OkHttpClient { + val interceptor = HttpLoggingInterceptor() + interceptor.setLevel(HttpLoggingInterceptor.Level.BODY) + val builder = OkHttpClient.Builder() + .callTimeout(1, TimeUnit.MINUTES) + .addNetworkInterceptor(Interceptor { chain -> + var request = chain.request() + val builder = request.newBuilder() + builder.addHeader("Accept", "application/json") + request = builder.build() + chain.proceed(request) + }) + if (BuildConfig.DEBUG) { + // Debug holatdan keyin o`chirish kerak!!!!!!!!!!!!!!!!!!!!!!! + builder.addInterceptor(interceptor) + } + return builder.build() + } + + fun createService(service: Class): T { + return retrofit.create(service) + } + + fun createServiceWithAuth(service: Class): T { + val newClient = client.newBuilder().addInterceptor(Interceptor { chain -> + var request = chain.request() + val builder = request.newBuilder() + builder.addHeader("x-api-key", "cd115401-446a-4694-b133-c558324ab265") + request = builder.build() + chain.proceed(request) + }).build() + + val newRetrofit = retrofit.newBuilder().client(newClient).build() + return newRetrofit.create(service) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/api/ApiService.kt b/app/src/main/java/com/example/enotes/api/ApiService.kt new file mode 100644 index 0000000..206d4c0 --- /dev/null +++ b/app/src/main/java/com/example/enotes/api/ApiService.kt @@ -0,0 +1,17 @@ +package com.example.designstuff.api + +import com.example.enotes.models.ImageModel +import okhttp3.RequestBody +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.POST + +@JvmSuppressWildcards +interface ApiService { + @POST("images/upload") +fun uploadPhoto( + @Body body: RequestBody): Call + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/databasehelper/DbHelper.kt b/app/src/main/java/com/example/enotes/databasehelper/DbHelper.kt index 1e1bcab..fd41cd1 100644 --- a/app/src/main/java/com/example/enotes/databasehelper/DbHelper.kt +++ b/app/src/main/java/com/example/enotes/databasehelper/DbHelper.kt @@ -4,6 +4,7 @@ import android.content.ContentValues import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper +import android.net.Uri import android.util.Log import com.example.enotes.models.create_note @@ -23,6 +24,8 @@ class DbHelper(context:Context): SQLiteOpenHelper(context,DATABASE_NAME,null,DAT private val TEXT_CLR="text_clr" private val BG_CLR="bg_clr" private val ADDRESS = "address" + private val BOOKMARK = "bookmark" + private val CURRENT_DATE = "current_date" // table for saving notes sketch images private val TABLE_NOTES_SKETCH_IMAGE = "Notes_Sketch" @@ -41,7 +44,12 @@ class DbHelper(context:Context): SQLiteOpenHelper(context,DATABASE_NAME,null,DAT + KEY_ID + " INTEGER PRIMARY KEY," + KEY_TITLE + " TEXT," + KEY_CONTENT + " TEXT," + TEXT_SIZE + " TEXT," + TEXT_FONT + " TEXT," + ADDRESS + " TEXT," + TEXT_CLR + " TEXT," - + BG_CLR + " TEXT " + " )") + + BG_CLR + " TEXT," + + BOOKMARK + " TEXT," + + CURRENT_DATE + " TEXT " + + " )") + + val CREATE_NOTES_IMAGE_TABLE = ("CREATE TABLE " + TABLE_NOTES_SKETCH_IMAGE + "( " + KEY_IMAGE_ID + " INTEGER PRIMARY KEY," + KEY_NOTE_ID + " INTEGER," @@ -56,9 +64,10 @@ class DbHelper(context:Context): SQLiteOpenHelper(context,DATABASE_NAME,null,DAT onCreate(db) } - fun addNotes( title: String, content: String, - textsize: String, textfont: String, textclr: String, - bgclr: String, address: String, sketchList: ArrayList) + fun addNotes( + title: String, content: String, + textsize: String, textfont: String, textclr: String, + bgclr: String, address: String, sketchList: ArrayList, bookmark:String, date:String) { openDB() val values = ContentValues() @@ -69,8 +78,11 @@ class DbHelper(context:Context): SQLiteOpenHelper(context,DATABASE_NAME,null,DAT values.put(TEXT_CLR,textclr ) values.put(BG_CLR, bgclr) values.put(ADDRESS, address) + values.put(BOOKMARK,bookmark) + values.put(CURRENT_DATE,date) + Log.e("bookmarksss",bookmark) - var index = myDbInstance.insert(TABLE_NOTES, null, values) + val index = myDbInstance.insert(TABLE_NOTES, null, values) Log.e("success22", "index of notes -> $index") addSketchImageOfNotes(index.toInt(), sketchList) @@ -122,6 +134,8 @@ class DbHelper(context:Context): SQLiteOpenHelper(context,DATABASE_NAME,null,DAT val textfont: String = cursor.getString(cursor.getColumnIndexOrThrow(TEXT_FONT)) val bgclr: String = cursor.getString(cursor.getColumnIndexOrThrow(BG_CLR)) val addres: String = cursor.getString(cursor.getColumnIndexOrThrow(ADDRESS)) + val bookmark: String = cursor.getString(cursor.getColumnIndexOrThrow(BOOKMARK)) + val date: String= cursor.getString(cursor.getColumnIndexOrThrow(CURRENT_DATE)) val note = create_note( id = note_id, @@ -131,7 +145,9 @@ class DbHelper(context:Context): SQLiteOpenHelper(context,DATABASE_NAME,null,DAT text_clr = textclr, text_font = textfont, bg_clr = bgclr, - address = addres + address = addres, + bookmark = bookmark, + currentdate = date ) /** diff --git a/app/src/main/java/com/example/enotes/models/ImageModel.kt b/app/src/main/java/com/example/enotes/models/ImageModel.kt new file mode 100644 index 0000000..8fe7ca2 --- /dev/null +++ b/app/src/main/java/com/example/enotes/models/ImageModel.kt @@ -0,0 +1,8 @@ +package com.example.enotes.models + +import android.net.Uri + +class ImageModel ( + var name : String, var uri : Uri + +) \ No newline at end of file diff --git a/app/src/main/java/com/example/enotes/models/create_note.kt b/app/src/main/java/com/example/enotes/models/create_note.kt index fc67b17..ba17e60 100644 --- a/app/src/main/java/com/example/enotes/models/create_note.kt +++ b/app/src/main/java/com/example/enotes/models/create_note.kt @@ -1,5 +1,7 @@ package com.example.enotes.models +import android.net.Uri + class create_note { @@ -11,6 +13,8 @@ class create_note { val title: String val content: String val address: String + val bookmark: String + val currentDate: String var imageUrl = ArrayList() @@ -23,8 +27,11 @@ class create_note { text_clr: String, title: String, content: String, - address: String - ) { + address: String, + bookmark: String, + currentdate:String + ) + { this.id = id this.bg_clr = bg_clr this.txtsize = txtsize @@ -33,6 +40,8 @@ class create_note { this.title = title this.content = content this.address = address + this.bookmark= bookmark + this.currentDate= currentdate } diff --git a/app/src/main/res/drawable/back.xml b/app/src/main/res/drawable/back.xml new file mode 100644 index 0000000..31e7df2 --- /dev/null +++ b/app/src/main/res/drawable/back.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/image_24.xml b/app/src/main/res/drawable/image_24.xml new file mode 100644 index 0000000..d35859d --- /dev/null +++ b/app/src/main/res/drawable/image_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_open_image.xml b/app/src/main/res/layout/activity_open_image.xml new file mode 100644 index 0000000..4a25085 --- /dev/null +++ b/app/src/main/res/layout/activity_open_image.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_text_note.xml b/app/src/main/res/layout/activity_text_note.xml index b5e75e9..d78dcc7 100644 --- a/app/src/main/res/layout/activity_text_note.xml +++ b/app/src/main/res/layout/activity_text_note.xml @@ -43,7 +43,7 @@ android:layout_marginStart="5dp" android:layout_marginEnd="5dp" android:background="@color/orange" - android:src="@drawable/ic_baseline_attach_file_24" + android:src="@drawable/image_24" > diff --git a/app/src/main/res/layout/activity_view_notes.xml b/app/src/main/res/layout/activity_view_notes.xml index 5a2e8b3..3dee6c0 100644 --- a/app/src/main/res/layout/activity_view_notes.xml +++ b/app/src/main/res/layout/activity_view_notes.xml @@ -120,7 +120,7 @@ + diff --git a/app/src/main/res/layout/file_attach.xml b/app/src/main/res/layout/file_attach.xml index cf8fe69..8f94e1b 100644 --- a/app/src/main/res/layout/file_attach.xml +++ b/app/src/main/res/layout/file_attach.xml @@ -2,41 +2,27 @@ + android:elevation="5dp"> + android:layout_height="match_parent"> - - - - From 1d763b25fe2799228121322a49fdeb7b6fca369b Mon Sep 17 00:00:00 2001 From: Rimsha Date: Mon, 18 Jul 2022 13:10:33 +0500 Subject: [PATCH 03/11] changes in ui,drawImages working,add multipart --- app/src/main/res/layout/activity_main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index a63d803..a5827e8 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -17,7 +17,7 @@ android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="1dp"> + > Date: Mon, 18 Jul 2022 23:28:48 +0500 Subject: [PATCH 04/11] changes in ui,drawImages working,add multipart --- .../main/java/com/example/enotes/Text_note.kt | 9 +- .../main/java/com/example/enotes/ViewNotes.kt | 174 +++++++++++++++++- .../enotes/adapter/AdapterFile_attach.kt | 9 +- .../enotes/adapter/All_notes_adapter.kt | 3 +- .../example/enotes/databasehelper/DbHelper.kt | 19 +- .../com/example/enotes/models/create_note.kt | 5 +- .../main/res/layout/activity_text_note.xml | 6 - .../main/res/layout/activity_view_notes.xml | 34 +++- 8 files changed, 222 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/example/enotes/Text_note.kt b/app/src/main/java/com/example/enotes/Text_note.kt index bc86c93..b6e1ed8 100644 --- a/app/src/main/java/com/example/enotes/Text_note.kt +++ b/app/src/main/java/com/example/enotes/Text_note.kt @@ -62,7 +62,6 @@ class Text_note : AppCompatActivity() { var currentLocation : Location? = null var fusedLocationProviderClient: FusedLocationProviderClient? = null - val REQUEST_CODE = 101 lateinit var image_Uri: Uri lateinit var fileUri: Uri @@ -79,6 +78,7 @@ class Text_note : AppCompatActivity() { var txtsize: Float = 16.0F var font: Int = R.font.roboto_regular var fontstring= "" + val REQUEST_CODE = 101 var my_loc :String="" var addressline :String="" var lat: String="" @@ -108,7 +108,6 @@ class Text_note : AppCompatActivity() { var typeface = ResourcesCompat.getFont(this, font) - val imageView= findViewById(R.id.image) val cardView = findViewById(R.id.card2) val cardView1 = findViewById(R.id.card1) val done = findViewById From 04084fca800fbf995c74ae2323b2553052d9e0f2 Mon Sep 17 00:00:00 2001 From: Rimsha Date: Tue, 19 Jul 2022 12:03:07 +0500 Subject: [PATCH 05/11] Signup Signun retrofit --- app/src/main/java/com/example/enotes/Login.kt | 52 ++++++++++++++++--- .../main/java/com/example/enotes/Signup.kt | 50 ++++++++++++++++-- .../enotes/api/ApiClientSignupLogin.kt | 33 ++++++++++++ .../enotes/api/ApiServiceSignupLogin.kt | 19 +++++++ .../enotes/models/request/LoginRequest.kt | 7 +++ .../enotes/models/request/RegisterRequest.kt | 8 +++ .../enotes/models/response/LoginResponse.kt | 8 +++ .../models/response/RegisterResponse.kt | 8 +++ app/src/main/res/layout/activity_login.xml | 41 ++++++--------- app/src/main/res/layout/activity_signup.xml | 24 +++++++++ 10 files changed, 214 insertions(+), 36 deletions(-) create mode 100644 app/src/main/java/com/example/enotes/api/ApiClientSignupLogin.kt create mode 100644 app/src/main/java/com/example/enotes/api/ApiServiceSignupLogin.kt create mode 100644 app/src/main/java/com/example/enotes/models/request/LoginRequest.kt create mode 100644 app/src/main/java/com/example/enotes/models/request/RegisterRequest.kt create mode 100644 app/src/main/java/com/example/enotes/models/response/LoginResponse.kt create mode 100644 app/src/main/java/com/example/enotes/models/response/RegisterResponse.kt diff --git a/app/src/main/java/com/example/enotes/Login.kt b/app/src/main/java/com/example/enotes/Login.kt index 915abee..3e28dab 100644 --- a/app/src/main/java/com/example/enotes/Login.kt +++ b/app/src/main/java/com/example/enotes/Login.kt @@ -2,34 +2,72 @@ package com.example.enotes import android.content.Intent import android.os.Bundle +import android.util.Log import android.view.View import android.widget.Button import android.widget.EditText import android.widget.TextView +import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import com.example.enotes.api.ApiClientSignupLogin +import com.example.enotes.models.request.LoginRequest +import com.example.enotes.models.response.LoginResponse +import com.example.enotes.models.response.RegisterResponse +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response class Login : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) val email = findViewById(R.id.email) val password = findViewById(R.id.password) val login_btn = findViewById - - - diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml index e885b5b..9b04235 100644 --- a/app/src/main/res/layout/activity_signup.xml +++ b/app/src/main/res/layout/activity_signup.xml @@ -53,6 +53,30 @@ > + + + + + + + Date: Tue, 19 Jul 2022 12:56:33 +0500 Subject: [PATCH 06/11] Signup Signun retrofit, cancel alarm --- .../com/example/enotes/BroadcastService.kt | 9 ++-- .../main/java/com/example/enotes/Text_note.kt | 44 ++++++++++++------- .../enotes/api/ApiServiceSignupLogin.kt | 2 +- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/example/enotes/BroadcastService.kt b/app/src/main/java/com/example/enotes/BroadcastService.kt index 831ec99..cbbeabe 100644 --- a/app/src/main/java/com/example/enotes/BroadcastService.kt +++ b/app/src/main/java/com/example/enotes/BroadcastService.kt @@ -29,11 +29,12 @@ class BroadcastService : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - var time= intent.getStringExtra("time") + val time= intent.getStringExtra("time") Toast.makeText(context, "Successful", Toast.LENGTH_SHORT).show() + val title= intent.getStringExtra("title") createNotificationChannel(context) - notifyNotification(context,time) + notifyNotification(context,time, title) if (time != null) { @@ -54,11 +55,11 @@ class BroadcastService : BroadcastReceiver() { } } - private fun notifyNotification(context: Context, time: String?) { + private fun notifyNotification(context: Context, time: String?, title:String?) { with(NotificationManagerCompat.from(context)) { val build = NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID) .setContentTitle(time) - .setContentText("Alarm.") + .setContentText(title) .setSmallIcon(R.drawable.ic_lock_idle_alarm) .setPriority(NotificationCompat.PRIORITY_HIGH) diff --git a/app/src/main/java/com/example/enotes/Text_note.kt b/app/src/main/java/com/example/enotes/Text_note.kt index b6e1ed8..cf005ce 100644 --- a/app/src/main/java/com/example/enotes/Text_note.kt +++ b/app/src/main/java/com/example/enotes/Text_note.kt @@ -20,7 +20,6 @@ import android.os.Bundle import android.os.Environment.DIRECTORY_DCIM import android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI import android.provider.MediaStore.MediaColumns.* -import android.provider.OpenableColumns import android.util.Log import android.widget.* import androidx.activity.result.contract.ActivityResultContracts @@ -43,6 +42,7 @@ import com.google.android.gms.maps.model.LatLng import com.madrapps.pikolo.ColorPicker import com.madrapps.pikolo.listeners.SimpleColorSelectionListener import com.redhoodhan.draw.DrawView +import kotlinx.android.synthetic.main.activity_text_note.* import kotlinx.android.synthetic.main.dialog_draw.view.* import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.MultipartBody @@ -55,7 +55,6 @@ import java.io.IOException import java.io.OutputStream import java.text.SimpleDateFormat import java.util.* -import kotlin.collections.ArrayList class Text_note : AppCompatActivity() { @@ -99,6 +98,9 @@ class Text_note : AppCompatActivity() { private lateinit var apiService: ApiService private var catPhoto = File("") + var _id = System.currentTimeMillis().toInt() + + @SuppressLint("NotifyDataSetChanged") @RequiresApi(Build.VERSION_CODES.Q) override fun onCreate(savedInstanceState: Bundle?) { @@ -141,7 +143,6 @@ class Text_note : AppCompatActivity() { // returndate2= "$hour: $minute" alarm_tv.setText(returndate+ " "+returndate2) - setAlarm() } val date = @@ -175,6 +176,11 @@ class Text_note : AppCompatActivity() { } + alarm_tv.setOnLongClickListener { + cancelAlarm() + true + } + content.setTextSize(txtsize) text_title.setTypeface(typeface) content.setTypeface(typeface) @@ -881,12 +887,15 @@ class Text_note : AppCompatActivity() { reminder_date ) // uploadImageToServer() + setAlarm() finish() } } + +//for multipart private fun uploadImageToServer() { val builder: MultipartBody.Builder = MultipartBody.Builder() builder.setType(MultipartBody.FORM) @@ -916,18 +925,9 @@ class Text_note : AppCompatActivity() { } } + //for sketch images @RequiresApi(Build.VERSION_CODES.Q) fun getImageUri(inImage: Bitmap): Uri? { -// val bytes = ByteArrayOutputStream() -// -// inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes) -// val path = -// MediaStore.Images.Media.insertImage( -// inContext.contentResolver, -// inImage, -// "Title", -// null -// ) val filename = "IMG_${System.currentTimeMillis()}.jpg" var fos: OutputStream? = null @@ -957,17 +957,31 @@ fun getImageUri(inImage: Bitmap): Uri? { return uri } + + + private fun cancelAlarm() { + + val intent = Intent(this, BroadcastService::class.java) + + val pendingIntent = PendingIntent.getBroadcast(this, _id, intent, 0) + val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager + alarmManager.cancel(pendingIntent) + + } private fun setAlarm() { val manager = getSystemService(Context.ALARM_SERVICE) as AlarmManager val myIntent: Intent - val _id = System.currentTimeMillis().toInt() - val pendingIntent: PendingIntent + + myIntent = Intent(this, BroadcastService::class.java) myIntent.putExtra("time",returndate2) + myIntent.putExtra("title",text_title.text.toString()) + val pendingIntent: PendingIntent pendingIntent = PendingIntent.getBroadcast(this, _id, myIntent, PendingIntent.FLAG_UPDATE_CURRENT) + val setdate: Calendar setdate= Calendar.getInstance() diff --git a/app/src/main/java/com/example/enotes/api/ApiServiceSignupLogin.kt b/app/src/main/java/com/example/enotes/api/ApiServiceSignupLogin.kt index a213866..d882aea 100644 --- a/app/src/main/java/com/example/enotes/api/ApiServiceSignupLogin.kt +++ b/app/src/main/java/com/example/enotes/api/ApiServiceSignupLogin.kt @@ -13,7 +13,7 @@ interface ApiServiceSignupLogin { @POST("/authentication") fun loninUser(@Body loginRequest: LoginRequest): Call - @POST("Users/GetUsers") + @POST("Users/PostUsers") fun registerUser(@Body registerRequest: RegisterRequest): Call } \ No newline at end of file From 23f389ae604c49d0cb03ceb2816443cbc3560e9c Mon Sep 17 00:00:00 2001 From: Rimsha Date: Tue, 19 Jul 2022 13:15:28 +0500 Subject: [PATCH 07/11] Signup Signun retrofit, cancel alarm, side drawer --- .../java/com/example/enotes/MainActivity.kt | 29 ++++++++++++++----- app/src/main/res/menu/navigation_menu.xml | 25 ++++++++++++++-- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/example/enotes/MainActivity.kt b/app/src/main/java/com/example/enotes/MainActivity.kt index 136a56b..49903d8 100644 --- a/app/src/main/java/com/example/enotes/MainActivity.kt +++ b/app/src/main/java/com/example/enotes/MainActivity.kt @@ -67,16 +67,31 @@ class MainActivity : AppCompatActivity() { when (it.itemId) { R.id.nav_allnotes -> Toast.makeText(applicationContext, "all notes", Toast.LENGTH_SHORT).show() - - } - true when (it.itemId) { - R.id.nav_reminders -> - Toast.makeText(applicationContext, "all reminders", Toast.LENGTH_SHORT).show() - - + R.id.nav_travel -> + Toast.makeText(applicationContext, "all travels", Toast.LENGTH_SHORT).show() + } + when (it.itemId) { + R.id.nav_untag -> + Toast.makeText(applicationContext, "all untags", Toast.LENGTH_SHORT).show() + } + when (it.itemId) { + R.id.nav_life -> + Toast.makeText(applicationContext, "all lifes", Toast.LENGTH_SHORT).show() + } + when (it.itemId) { + R.id.nav_birthdays -> + Toast.makeText(applicationContext, "all birthdays", Toast.LENGTH_SHORT).show() } + when (it.itemId) { + R.id.nav_peronal -> + Toast.makeText(applicationContext, "all personals", Toast.LENGTH_SHORT).show() + } + when (it.itemId) { + R.id.nav_work -> + Toast.makeText(applicationContext, "all works", Toast.LENGTH_SHORT).show() + } true } diff --git a/app/src/main/res/menu/navigation_menu.xml b/app/src/main/res/menu/navigation_menu.xml index 0b41973..319897a 100644 --- a/app/src/main/res/menu/navigation_menu.xml +++ b/app/src/main/res/menu/navigation_menu.xml @@ -12,8 +12,29 @@ android:title="All Notes" /> + android:id="@+id/nav_travel" + android:title="Travel" + android:icon="@drawable/bookmark_blue"/> + + + + + From 291670d803ab282c1e57593afc614ab6b1c7f5f0 Mon Sep 17 00:00:00 2001 From: Rimsha Date: Wed, 20 Jul 2022 12:30:15 +0500 Subject: [PATCH 08/11] Signup Signin retrofit, cancel alarm, side drawer --- .../com/example/enotes/BroadcastService.kt | 23 +++++++++-- .../main/java/com/example/enotes/Text_note.kt | 38 ++++++++++++------- .../main/java/com/example/enotes/ViewNotes.kt | 7 +++- 3 files changed, 49 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/example/enotes/BroadcastService.kt b/app/src/main/java/com/example/enotes/BroadcastService.kt index cbbeabe..60f00f3 100644 --- a/app/src/main/java/com/example/enotes/BroadcastService.kt +++ b/app/src/main/java/com/example/enotes/BroadcastService.kt @@ -3,14 +3,14 @@ package com.example.enotes import android.R import android.app.NotificationChannel import android.app.NotificationManager +import android.app.PendingIntent import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import android.os.Build import android.util.Log import android.widget.Toast import androidx.core.app.NotificationCompat - -import android.os.Build import androidx.core.app.NotificationManagerCompat @@ -33,8 +33,17 @@ class BroadcastService : BroadcastReceiver() { Toast.makeText(context, "Successful", Toast.LENGTH_SHORT).show() val title= intent.getStringExtra("title") + createNotificationChannel(context) - notifyNotification(context,time, title) + val notificationIntent = Intent(context, MainActivity::class.java) + notificationIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP + + val pendingIntent = PendingIntent.getActivity( + context, 0, notificationIntent, + PendingIntent.FLAG_UPDATE_CURRENT + ) + + notifyNotification(context,time, title,pendingIntent) if (time != null) { @@ -55,12 +64,18 @@ class BroadcastService : BroadcastReceiver() { } } - private fun notifyNotification(context: Context, time: String?, title:String?) { + private fun notifyNotification( + context: Context, + time: String?, + title: String?, + pendingIntent: PendingIntent + ) { with(NotificationManagerCompat.from(context)) { val build = NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID) .setContentTitle(time) .setContentText(title) .setSmallIcon(R.drawable.ic_lock_idle_alarm) + .setContentIntent(pendingIntent) .setPriority(NotificationCompat.PRIORITY_HIGH) notify(NOTIFICATION_ID, build.build()) diff --git a/app/src/main/java/com/example/enotes/Text_note.kt b/app/src/main/java/com/example/enotes/Text_note.kt index cf005ce..d2498c5 100644 --- a/app/src/main/java/com/example/enotes/Text_note.kt +++ b/app/src/main/java/com/example/enotes/Text_note.kt @@ -8,6 +8,7 @@ import android.app.PendingIntent import android.app.TimePickerDialog import android.content.ContentValues import android.content.Context +import android.content.DialogInterface import android.content.Intent import android.content.pm.PackageManager import android.graphics.Bitmap @@ -93,6 +94,7 @@ class Text_note : AppCompatActivity() { var returndate="" var returndate2="" var reminderDateTimeInMilliseconds: Long = 0 + var alarmDate= "add reminder" private lateinit var fileUri2: Uri private lateinit var apiService: ApiService @@ -140,8 +142,9 @@ class Text_note : AppCompatActivity() { val minuteVar = if (minute < 10) "0$minute" else minute.toString() + "" returndate2= "$hourvar:$minuteVar" + alarmDate= returndate+" "+returndate2 // returndate2= "$hour: $minute" - alarm_tv.setText(returndate+ " "+returndate2) + alarm_tv.setText(alarmDate) } @@ -177,7 +180,17 @@ class Text_note : AppCompatActivity() { } alarm_tv.setOnLongClickListener { - cancelAlarm() + //cancelAlarm() + val dialog = AlertDialog.Builder(this) + dialog.setMessage("Do you want to delete this image?") + dialog.setPositiveButton("Yes", DialogInterface.OnClickListener { _, _ -> + + alarmDate= "add reminder" + alarm_tv.setText(alarmDate) + }) + + dialog.show() + true } @@ -865,14 +878,10 @@ class Text_note : AppCompatActivity() { val title: String = text_title.text.toString() val contnt: String = content.text.toString() - Log.e("clr bgg",bg_clr.toString()+" ") - Log.e("clr f",fontclr.toString()+" ") - Log.e("check2",returndate+" "+ returndate2) - Log.e("bookmarkss",bookmark) val sdf = SimpleDateFormat("dd/M/yyyy hh:mm:ss") val currentDate = sdf.format(Date()) - val reminder_date= returndate+" "+ returndate2 + val reminder_date = returndate + " " + returndate2 db.addNotes( text_title.text.toString(), content.text.toString(), @@ -884,13 +893,15 @@ class Text_note : AppCompatActivity() { file_Name, bookmark, currentDate, - reminder_date + alarmDate ) - // uploadImageToServer() - setAlarm() + // uploadImageToServer() + if (alarmDate!="add reminder") + { + setAlarm() + } - finish() - } + finish() } } @@ -968,12 +979,11 @@ fun getImageUri(inImage: Bitmap): Uri? { alarmManager.cancel(pendingIntent) } + private fun setAlarm() { val manager = getSystemService(Context.ALARM_SERVICE) as AlarmManager val myIntent: Intent - - myIntent = Intent(this, BroadcastService::class.java) myIntent.putExtra("time",returndate2) myIntent.putExtra("title",text_title.text.toString()) diff --git a/app/src/main/java/com/example/enotes/ViewNotes.kt b/app/src/main/java/com/example/enotes/ViewNotes.kt index 8bc81d1..e935cff 100644 --- a/app/src/main/java/com/example/enotes/ViewNotes.kt +++ b/app/src/main/java/com/example/enotes/ViewNotes.kt @@ -54,7 +54,12 @@ class ViewNotes : AppCompatActivity() { val bgclr = intent.extras!!.getString("bg") val reminder_date= intent.extras!!.getString("reminder_date") - view_reminders.setText("Reminder set for "+reminder_date) + Log.e("reminder_date",reminder_date.toString()) + if (reminder_date=="add reminder"){ + view_reminders.setText(" ") + } + else{ + view_reminders.setText("Reminder set for "+reminder_date)} val address= intent.extras!!.getString("address") viewAddress.setText(address) viewAddress.setOnClickListener { From 2f913975560aef79fc8fba8117e7b9a6b8509360 Mon Sep 17 00:00:00 2001 From: Rimsha Date: Thu, 21 Jul 2022 19:57:31 +0500 Subject: [PATCH 09/11] Signup Signin retrofit, cancel alarm, side drawer, fab --- .idea/misc.xml | 1 + .../java/com/example/enotes/MainActivity.kt | 2 + .../main/java/com/example/enotes/Text_note.kt | 77 ++++- .../enotes/adapter/AdapterFile_attach.kt | 1 + .../main/res/drawable-v24/txt_color_24.xml | 5 + app/src/main/res/drawable/done_24.xml | 2 +- app/src/main/res/drawable/ic_close.xml | 5 + .../main/res/layout/activity_text_note.xml | 319 ++++++++++-------- app/src/main/res/menu/navigation_menu.xml | 18 +- 9 files changed, 274 insertions(+), 156 deletions(-) create mode 100644 app/src/main/res/drawable-v24/txt_color_24.xml create mode 100644 app/src/main/res/drawable/ic_close.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index cb799ab..9076ad5 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,6 +3,7 @@