Skip to content
This repository was archived by the owner on Nov 18, 2024. It is now read-only.

Commit 8bbcb52

Browse files
committed
Merge dev branch
2 parents b149081 + c4243c6 commit 8bbcb52

55 files changed

Lines changed: 464 additions & 309 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.idea/assetWizardSettings.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 Bytes
Binary file not shown.

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
android:name=".ui.view.EditTaskActivity"
3131
android:screenOrientation="portrait"
3232
android:windowSoftInputMode="adjustResize" />
33+
<activity
34+
android:name=".ui.view.TaskNoteActivity"
35+
android:screenOrientation="portrait" />
3336
<activity
3437
android:name=".ui.view.settings.activity.SettingsActivity"
3538
android:screenOrientation="portrait" />

app/src/main/java/apps/jizzu/simpletodo/data/database/TasksDatabase.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import androidx.sqlite.db.SupportSQLiteDatabase
99
import apps.jizzu.simpletodo.data.models.Task
1010
import apps.jizzu.simpletodo.utils.PreferenceHelper
1111

12-
@Database(entities = [Task::class], version = 2)
12+
@Database(entities = [Task::class], version = 3)
1313
abstract class TasksDatabase : RoomDatabase() {
1414

1515
abstract fun taskDAO(): TaskDao
@@ -24,6 +24,7 @@ abstract class TasksDatabase : RoomDatabase() {
2424

2525
private const val TASK_ID_COLUMN = "_id"
2626
private const val TASK_TITLE_COLUMN = "task_title"
27+
private const val TASK_NOTE_COLUMN = "task_note"
2728
private const val TASK_DATE_COLUMN = "task_date"
2829
private const val TASK_POSITION_COLUMN = "task_position"
2930
private const val TASK_TIME_STAMP_COLUMN = "task_time_stamp"
@@ -44,12 +45,18 @@ abstract class TasksDatabase : RoomDatabase() {
4445
}
4546
}
4647

48+
private val MIGRATION_2_3 = object : Migration(2, 3) {
49+
override fun migrate(database: SupportSQLiteDatabase) {
50+
database.execSQL("ALTER TABLE $TASKS_TABLE ADD COLUMN $TASK_NOTE_COLUMN TEXT DEFAULT '' NOT NULL")
51+
}
52+
}
53+
4754
fun getInstance(context: Context): TasksDatabase {
4855
synchronized(TasksDatabase::class.java) {
4956
if (mInstance == null) {
5057
mInstance = Room.databaseBuilder(context,
5158
TasksDatabase::class.java, DATABASE_NAME)
52-
.addMigrations(MIGRATION_1_2)
59+
.addMigrations(MIGRATION_1_2, MIGRATION_2_3)
5360
.build()
5461
}
5562
}

app/src/main/java/apps/jizzu/simpletodo/data/models/Task.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ class Task : Serializable {
1919
@ColumnInfo(name = "task_title")
2020
var title: String = ""
2121

22+
@ColumnInfo(name = "task_note")
23+
var note: String = ""
24+
2225
@ColumnInfo(name = "task_date")
2326
@NonNull
2427
var date: Long = 0
@@ -36,9 +39,10 @@ class Task : Serializable {
3639
this.timeStamp = Date().time
3740
}
3841

39-
constructor(id: Long, title: String, date: Long, position: Int, timeStamp: Long) {
42+
constructor(id: Long, title: String, note: String, date: Long, position: Int, timeStamp: Long) {
4043
this.id = id
4144
this.title = title
45+
this.note = note
4246
this.date = date
4347
this.position = position
4448
this.timeStamp = timeStamp

app/src/main/java/apps/jizzu/simpletodo/service/widget/ViewFactory.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ class ViewFactory internal constructor(private val mContext: Context) : RemoteVi
3434
val remoteViews = RemoteViews(mContext.packageName, R.layout.widget_task_item)
3535
remoteViews.setTextViewText(R.id.item_title, mWidgetData[position].title)
3636

37+
if (!mWidgetData[position].note.isEmpty()) {
38+
remoteViews.setViewVisibility(R.id.item_note_icon, View.VISIBLE)
39+
} else remoteViews.setViewVisibility(R.id.item_note_icon, View.GONE)
40+
41+
3742
if (mWidgetData[position].date != 0L) {
3843
remoteViews.apply {
3944
setViewPadding(R.id.item_title, 0, 0, 0, 0)
@@ -101,6 +106,7 @@ class ViewFactory internal constructor(private val mContext: Context) : RemoteVi
101106
val fillInIntent = Intent()
102107
.putExtra(WidgetProvider.ITEM_ID, mWidgetData[position].id)
103108
.putExtra(WidgetProvider.ITEM_TITLE, mWidgetData[position].title)
109+
.putExtra(WidgetProvider.ITEM_NOTE, mWidgetData[position].note)
104110
.putExtra(WidgetProvider.ITEM_POSITION, position)
105111
.putExtra(WidgetProvider.ITEM_TIME_STAMP, mWidgetData[position].timeStamp)
106112

app/src/main/java/apps/jizzu/simpletodo/service/widget/WidgetProvider.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ class WidgetProvider : AppWidgetProvider() {
4141

4242
val itemID = intent.getLongExtra(ITEM_ID, 0)
4343
val itemTitle = intent.getStringExtra(ITEM_TITLE)
44+
val itemNote = intent.getStringExtra(ITEM_NOTE)
4445
val itemPosition = intent.getIntExtra(ITEM_POSITION, -1)
4546
val itemTimeStamp = intent.getLongExtra(ITEM_TIME_STAMP, 0)
4647
val itemDate = intent.getLongExtra(ITEM_DATE, 0)
@@ -53,6 +54,7 @@ class WidgetProvider : AppWidgetProvider() {
5354
val editTaskActivity = Intent(context, EditTaskActivity::class.java)
5455
.putExtra(ITEM_ID, itemID)
5556
.putExtra(ITEM_TITLE, itemTitle)
57+
.putExtra(ITEM_NOTE, itemNote)
5658
.putExtra(ITEM_POSITION, itemPosition)
5759
.putExtra(ITEM_TIME_STAMP, itemTimeStamp)
5860
.putExtra(ITEM_DATE, itemDate)
@@ -64,6 +66,7 @@ class WidgetProvider : AppWidgetProvider() {
6466
companion object {
6567
internal const val ITEM_ID = "id"
6668
internal const val ITEM_TITLE = "title"
69+
internal const val ITEM_NOTE = "note"
6770
internal const val ITEM_POSITION = "position"
6871
internal const val ITEM_TIME_STAMP = "time_stamp"
6972
internal const val ITEM_DATE = "date"

app/src/main/java/apps/jizzu/simpletodo/ui/recycler/RecyclerViewAdapter.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.text.format.DateUtils
66
import android.util.DisplayMetrics
77
import android.util.Log
88
import android.view.*
9+
import android.widget.ImageView
910
import android.widget.TextView
1011
import androidx.core.content.ContextCompat
1112
import androidx.recyclerview.widget.DiffUtil
@@ -51,10 +52,11 @@ class RecyclerViewAdapter : RecyclerView.Adapter<RecyclerViewAdapter.TaskViewHol
5152
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TaskViewHolder {
5253
val v = LayoutInflater.from(parent.context).inflate(R.layout.task_item, parent, false)
5354
val title = v.findViewById<TextView>(R.id.tvTaskTitle)
55+
val note = v.findViewById<ImageView>(R.id.ivTaskNote)
5456
val date = v.findViewById<TextView>(R.id.tvTaskDate)
5557
mContext = parent.context
5658

57-
return TaskViewHolder(v, title, date)
59+
return TaskViewHolder(v, title, note, date)
5860
}
5961

6062
override fun onBindViewHolder(holder: TaskViewHolder, position: Int) {
@@ -66,6 +68,10 @@ class RecyclerViewAdapter : RecyclerView.Adapter<RecyclerViewAdapter.TaskViewHol
6668
holder.itemView.isEnabled = true
6769
holder.title.text = task.title
6870

71+
if (!task.note.isEmpty()) {
72+
holder.note.visible()
73+
} else holder.note.gone()
74+
6975
if (task.date != 0L) {
7076
holder.title.setPadding(0, 0, 0, 0)
7177
holder.title.gravity = Gravity.CENTER_VERTICAL
@@ -131,7 +137,7 @@ class RecyclerViewAdapter : RecyclerView.Adapter<RecyclerViewAdapter.TaskViewHol
131137
fun onTaskClick(v: View, position: Int)
132138
}
133139

134-
inner class TaskViewHolder internal constructor(itemView: View, internal var title: TextView, internal var date: TextView) : RecyclerView.ViewHolder(itemView)
140+
inner class TaskViewHolder internal constructor(itemView: View, internal var title: TextView, internal var note: ImageView, internal var date: TextView) : RecyclerView.ViewHolder(itemView)
135141

136142
companion object {
137143
private var clickListener: ClickListener? = null

app/src/main/java/apps/jizzu/simpletodo/ui/recycler/TaskDiffUtilCallback.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ class TaskDiffUtilCallback constructor(private val oldList: List<Task>, private
1818
val updatedTask = updatedList[newItemPosition]
1919
val isTitleTheSame = oldTask.title == updatedTask.title
2020
val isDateTheSame = oldTask.date == updatedTask.date
21+
val isNoteTheSame = oldTask.note == updatedTask.note
2122

22-
return isTitleTheSame && isDateTheSame
23+
return isTitleTheSame && isDateTheSame && isNoteTheSame
2324
}
2425
}

app/src/main/java/apps/jizzu/simpletodo/ui/view/AddTaskActivity.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import apps.jizzu.simpletodo.data.models.Task
77
import apps.jizzu.simpletodo.service.alarm.AlarmHelper
88
import apps.jizzu.simpletodo.ui.view.base.BaseTaskActivity
99
import apps.jizzu.simpletodo.utils.PreferenceHelper
10-
import apps.jizzu.simpletodo.utils.invisible
1110
import apps.jizzu.simpletodo.utils.toast
1211
import apps.jizzu.simpletodo.vm.AddTaskViewModel
1312
import kotlinx.android.synthetic.main.activity_task_details.*
@@ -17,12 +16,8 @@ class AddTaskActivity : BaseTaskActivity() {
1716

1817
override fun onCreate(savedInstanceState: Bundle?) {
1918
super.onCreate(savedInstanceState)
20-
2119
initToolbar(getString(R.string.create_task))
22-
reminderContainer.invisible()
23-
24-
// If the user specified only the date (without time), then the notification of the event will appear in an hour
25-
mCalendar.set(Calendar.HOUR_OF_DAY, mCalendar.get(Calendar.HOUR_OF_DAY) + 1)
20+
showKeyboard(mTitleEditText)
2621

2722
val position = if (intent.getBooleanExtra("isShortcut", false)) {
2823
AlarmHelper.getInstance().init(applicationContext)
@@ -35,11 +30,16 @@ class AddTaskActivity : BaseTaskActivity() {
3530
mTitleEditText.length() == 0 -> taskTitleLayout.error = getString(R.string.error_text_input)
3631
mTitleEditText.text.toString().trim { it <= ' ' }.isEmpty() -> taskTitleLayout.error = getString(R.string.error_spaces)
3732
else -> {
38-
val task = Task()
39-
task.title = mTitleEditText.text.toString()
40-
task.position = position
33+
val task = Task().apply {
34+
title = mTitleEditText.text.toString()
35+
this.position = position
36+
}
37+
38+
if (taskNote.length() != 0) {
39+
task.note = taskNote.text.toString()
40+
}
4141

42-
if (mDateEditText.length() != 0 || mTimeEditText.length() != 0) {
42+
if (taskReminder.length() != 0) {
4343
task.date = mCalendar.timeInMillis
4444
}
4545

0 commit comments

Comments
 (0)