|
|
|
@ -1,5 +1,7 @@ |
|
|
|
package net.pokeranalytics.android.ui.fragment |
|
|
|
package net.pokeranalytics.android.ui.fragment |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import android.app.Activity.RESULT_OK |
|
|
|
|
|
|
|
import android.content.Intent |
|
|
|
import android.os.Bundle |
|
|
|
import android.os.Bundle |
|
|
|
import android.view.* |
|
|
|
import android.view.* |
|
|
|
import android.widget.Toast |
|
|
|
import android.widget.Toast |
|
|
|
@ -10,7 +12,9 @@ import kotlinx.android.synthetic.main.fragment_editable_data.* |
|
|
|
import kotlinx.android.synthetic.main.fragment_editable_data.view.* |
|
|
|
import kotlinx.android.synthetic.main.fragment_editable_data.view.* |
|
|
|
import net.pokeranalytics.android.R |
|
|
|
import net.pokeranalytics.android.R |
|
|
|
import net.pokeranalytics.android.model.LiveData |
|
|
|
import net.pokeranalytics.android.model.LiveData |
|
|
|
|
|
|
|
import net.pokeranalytics.android.model.interfaces.Identifiable |
|
|
|
import net.pokeranalytics.android.model.interfaces.Savable |
|
|
|
import net.pokeranalytics.android.model.interfaces.Savable |
|
|
|
|
|
|
|
import net.pokeranalytics.android.ui.activity.EditableDataActivity |
|
|
|
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity |
|
|
|
import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableAdapter |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
import net.pokeranalytics.android.ui.adapter.RowRepresentableDataSource |
|
|
|
@ -27,6 +31,7 @@ class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, |
|
|
|
private lateinit var liveDataType: LiveData |
|
|
|
private lateinit var liveDataType: LiveData |
|
|
|
private lateinit var rowRepresentableAdapter: RowRepresentableAdapter |
|
|
|
private lateinit var rowRepresentableAdapter: RowRepresentableAdapter |
|
|
|
private var editableMenu: Menu? = null |
|
|
|
private var editableMenu: Menu? = null |
|
|
|
|
|
|
|
private var dataType: Int? = null |
|
|
|
|
|
|
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
return inflater.inflate(R.layout.fragment_editable_data, container, false) |
|
|
|
return inflater.inflate(R.layout.fragment_editable_data, container, false) |
|
|
|
@ -55,7 +60,12 @@ class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { |
|
|
|
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { |
|
|
|
BottomSheetFragment.create(fragmentManager, row,this, (this.item as RowRepresentableDataSource).editDescriptors(row)) |
|
|
|
BottomSheetFragment.create( |
|
|
|
|
|
|
|
fragmentManager, |
|
|
|
|
|
|
|
row, |
|
|
|
|
|
|
|
this, |
|
|
|
|
|
|
|
(this.item as RowRepresentableDataSource).editDescriptors(row) |
|
|
|
|
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
override fun clickOnAdd(row: RowRepresentable) { |
|
|
|
override fun clickOnAdd(row: RowRepresentable) { |
|
|
|
@ -103,9 +113,14 @@ class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, |
|
|
|
private fun saveData() { |
|
|
|
private fun saveData() { |
|
|
|
if ((this.item as Savable).isValidForSave()) { |
|
|
|
if ((this.item as Savable).isValidForSave()) { |
|
|
|
this.getRealm().executeTransaction { |
|
|
|
this.getRealm().executeTransaction { |
|
|
|
it.copyToRealmOrUpdate(this.item) |
|
|
|
val item = it.copyToRealmOrUpdate(this.item) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val uniqueIdentifier = if (item is Identifiable) { |
|
|
|
|
|
|
|
item.uniqueIdentifier() |
|
|
|
|
|
|
|
} else "" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
finishActivityWithResult(uniqueIdentifier) |
|
|
|
} |
|
|
|
} |
|
|
|
activity?.finish() |
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
val builder = AlertDialog.Builder(requireContext()) |
|
|
|
val builder = AlertDialog.Builder(requireContext()) |
|
|
|
.setMessage(R.string.empty_name_for_br_error) |
|
|
|
.setMessage(R.string.empty_name_for_br_error) |
|
|
|
@ -141,10 +156,22 @@ class EditableDataFragment : PokerAnalyticsFragment(), RowRepresentableDelegate, |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Finish the activity with a result |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private fun finishActivityWithResult(uniqueIdentifier: String) { |
|
|
|
|
|
|
|
val intent = Intent() |
|
|
|
|
|
|
|
intent.putExtra(EditableDataActivity.IntentKey.DATA_TYPE.keyName, dataType) |
|
|
|
|
|
|
|
intent.putExtra(EditableDataActivity.IntentKey.PRIMARY_KEY.keyName, uniqueIdentifier) |
|
|
|
|
|
|
|
activity?.setResult(RESULT_OK, intent) |
|
|
|
|
|
|
|
activity?.finish() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Set fragment data |
|
|
|
* Set fragment data |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
fun setData(dataType: Int, primaryKey: String?) { |
|
|
|
fun setData(dataType: Int, primaryKey: String?) { |
|
|
|
|
|
|
|
this.dataType = dataType |
|
|
|
this.liveDataType = LiveData.values()[dataType] |
|
|
|
this.liveDataType = LiveData.values()[dataType] |
|
|
|
val proxyItem: RealmObject? = this.liveDataType.getData(this.getRealm(), primaryKey) |
|
|
|
val proxyItem: RealmObject? = this.liveDataType.getData(this.getRealm(), primaryKey) |
|
|
|
proxyItem?.let { |
|
|
|
proxyItem?.let { |
|
|
|
|