diff --git a/app/src/main/kotlin/jackall/overlaymulticounter/contract/CounterContract.kt b/app/src/main/kotlin/jackall/overlaymulticounter/contract/CounterContract.kt index a70ccde..4955313 100644 --- a/app/src/main/kotlin/jackall/overlaymulticounter/contract/CounterContract.kt +++ b/app/src/main/kotlin/jackall/overlaymulticounter/contract/CounterContract.kt @@ -7,4 +7,5 @@ fun plus(id: Int) fun minus(id: Int) fun reset(id: Int) + fun editTitle(id: Int, title: String) } \ No newline at end of file diff --git a/app/src/main/kotlin/jackall/overlaymulticounter/db/CounterRealmHelper.kt b/app/src/main/kotlin/jackall/overlaymulticounter/db/CounterRealmHelper.kt index ae0ed05..aba64bb 100644 --- a/app/src/main/kotlin/jackall/overlaymulticounter/db/CounterRealmHelper.kt +++ b/app/src/main/kotlin/jackall/overlaymulticounter/db/CounterRealmHelper.kt @@ -44,6 +44,13 @@ } } + fun updateTitle(id: Int, title: String) { + realm.executeTransaction { + val counter = realm.where(Counter::class.java).equalTo("id", id).findFirst() + counter.title = title + } + } + fun resetAll() { realm.executeTransaction { findAll().forEach { diff --git a/app/src/main/kotlin/jackall/overlaymulticounter/service/MainService.kt b/app/src/main/kotlin/jackall/overlaymulticounter/service/MainService.kt index 8dcd3be..85a15a3 100644 --- a/app/src/main/kotlin/jackall/overlaymulticounter/service/MainService.kt +++ b/app/src/main/kotlin/jackall/overlaymulticounter/service/MainService.kt @@ -112,8 +112,6 @@ WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, - WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or - WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, PixelFormat.TRANSLUCENT) @@ -122,8 +120,6 @@ WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, - WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or - WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN or WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, PixelFormat.TRANSLUCENT) diff --git a/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/CounterItemViewModel.kt b/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/CounterItemViewModel.kt index 53e6a49..4259a4d 100644 --- a/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/CounterItemViewModel.kt +++ b/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/CounterItemViewModel.kt @@ -2,6 +2,7 @@ import android.databinding.BaseObservable import android.databinding.ObservableField +import android.databinding.ObservableInt import android.view.View import io.realm.RealmChangeListener import jackall.overlaymulticounter.contract.CounterContract @@ -14,6 +15,11 @@ val id = counter.id val title = ObservableField(counter.title) val count = ObservableField(counter.count.toString()) + val titleVisible = ObservableInt(View.VISIBLE) + val editIconVisible = ObservableInt(View.VISIBLE) + val checkEditIconVisible = ObservableInt(View.INVISIBLE) + val editTextVisible = ObservableInt(View.INVISIBLE) + val editText = ObservableField() val realmChangeListener = RealmChangeListener { if (it.isValid) { title.set(it.title) @@ -36,4 +42,20 @@ fun onClickReset(view: View) { counterContract.reset(id) } + + fun onClickEdit(view: View) { + titleVisible.set(View.INVISIBLE) + editTextVisible.set(View.VISIBLE) + editIconVisible.set(View.INVISIBLE) + checkEditIconVisible.set(View.VISIBLE) + editText.set(title.get()) + } + + fun onClickCheckEdit(view: View) { + counterContract.editTitle(id, editText.get()) + titleVisible.set(View.VISIBLE) + editTextVisible.set(View.INVISIBLE) + editIconVisible.set(View.VISIBLE) + checkEditIconVisible.set(View.INVISIBLE) + } } \ No newline at end of file diff --git a/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/OverlayCounterViewModel.kt b/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/OverlayCounterViewModel.kt index 63ba6d3..b17683b 100644 --- a/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/OverlayCounterViewModel.kt +++ b/app/src/main/kotlin/jackall/overlaymulticounter/viewmodel/OverlayCounterViewModel.kt @@ -72,6 +72,10 @@ counterRealmHelper.reset(id) } + override fun editTitle(id: Int, title: String) { + counterRealmHelper.updateTitle(id, title) + } + fun onDestory() { counterRealmHelper.close() } diff --git a/app/src/main/res/drawable-v24/check_edit.png b/app/src/main/res/drawable-v24/check_edit.png new file mode 100644 index 0000000..81ac996 --- /dev/null +++ b/app/src/main/res/drawable-v24/check_edit.png Binary files differ diff --git a/app/src/main/res/drawable-v24/edit.png b/app/src/main/res/drawable-v24/edit.png new file mode 100644 index 0000000..b53d65d --- /dev/null +++ b/app/src/main/res/drawable-v24/edit.png Binary files differ diff --git a/app/src/main/res/layout/list_counter_item.xml b/app/src/main/res/layout/list_counter_item.xml index 57a1037..b51f3f4 100644 --- a/app/src/main/res/layout/list_counter_item.xml +++ b/app/src/main/res/layout/list_counter_item.xml @@ -38,6 +38,7 @@ android:layout_width="@dimen/counter_count_width" android:layout_height="wrap_content" android:text="@{counterItemViewModel.count}" + android:textSize="@dimen/counter_count_text_size" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/counter_plus" app:layout_constraintTop_toTopOf="parent" /> @@ -63,13 +64,56 @@ app:layout_constraintStart_toEndOf="@id/counter_minus" app:layout_constraintTop_toTopOf="parent"> - + + + + + + diff --git a/app/src/main/res/layout/overlay_counter.xml b/app/src/main/res/layout/overlay_counter.xml index 51aa833..ed797ef 100644 --- a/app/src/main/res/layout/overlay_counter.xml +++ b/app/src/main/res/layout/overlay_counter.xml @@ -16,6 +16,7 @@