mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-03-03 02:47:44 +01:00
convert DayActivity to kotlin
This commit is contained in:
parent
dddab1c6ac
commit
8fd75ae628
@ -1,310 +0,0 @@
|
||||
package com.simplemobiletools.calendar.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.view.ActionMode;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.AbsListView;
|
||||
import android.widget.AdapterView;
|
||||
|
||||
import com.simplemobiletools.calendar.Constants;
|
||||
import com.simplemobiletools.calendar.DBHelper;
|
||||
import com.simplemobiletools.calendar.Formatter;
|
||||
import com.simplemobiletools.calendar.R;
|
||||
import com.simplemobiletools.calendar.Utils;
|
||||
import com.simplemobiletools.calendar.models.Event;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindDimen;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class DayActivity extends SimpleActivity
|
||||
implements DBHelper.DBOperationsListener, AdapterView.OnItemClickListener, AbsListView.MultiChoiceModeListener {
|
||||
/*@BindView(R.id.month_value) TextView mDateTV;
|
||||
@BindView(R.id.day_events) ListView mEventsList;
|
||||
@BindView(R.id.day_coordinator) CoordinatorLayout mCoordinatorLayout;
|
||||
@BindView(R.id.top_left_arrow) ImageView mLeftArrow;
|
||||
@BindView(R.id.top_right_arrow) ImageView mRightArrow;*/
|
||||
|
||||
@BindDimen(R.dimen.activity_margin) int mActivityMargin;
|
||||
|
||||
private static final int EDIT_EVENT = 1;
|
||||
public static final String DELETED_ID = "deleted_id";
|
||||
|
||||
private static String mDayCode;
|
||||
private static List<Event> mEvents;
|
||||
private static int mSelectedItemsCnt;
|
||||
private static Snackbar mSnackbar;
|
||||
private static List<Integer> mToBeDeleted;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_day);
|
||||
ButterKnife.bind(this);
|
||||
|
||||
final Intent intent = getIntent();
|
||||
if (intent == null)
|
||||
return;
|
||||
|
||||
mDayCode = intent.getStringExtra(Constants.DAY_CODE);
|
||||
if (mDayCode == null || mDayCode.isEmpty())
|
||||
return;
|
||||
|
||||
final String date = Formatter.getEventDate(getApplicationContext(), mDayCode);
|
||||
//mDateTV.setText(date);
|
||||
mToBeDeleted = new ArrayList<>();
|
||||
|
||||
final int baseColor = mConfig.getIsDarkTheme() ? Color.WHITE : Color.BLACK;
|
||||
final int textColor = Utils.adjustAlpha(baseColor, Constants.HIGH_ALPHA);
|
||||
/*mLeftArrow.getDrawable().mutate().setColorFilter(textColor, PorterDuff.Mode.SRC_ATOP);
|
||||
mRightArrow.getDrawable().mutate().setColorFilter(textColor, PorterDuff.Mode.SRC_ATOP);
|
||||
|
||||
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mLeftArrow.getLayoutParams();
|
||||
params.setMargins(mActivityMargin, params.topMargin, params.rightMargin, params.bottomMargin);
|
||||
|
||||
params = (RelativeLayout.LayoutParams) mRightArrow.getLayoutParams();
|
||||
params.setMargins(params.leftMargin, params.topMargin, mActivityMargin, params.bottomMargin);*/
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
checkEvents();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
checkDeleteEvents();
|
||||
}
|
||||
|
||||
/*@OnClick(R.id.day_fab)
|
||||
public void fabClicked(View view) {
|
||||
final Intent intent = new Intent(getApplicationContext(), EventActivity.class);
|
||||
intent.putExtra(Constants.DAY_CODE, mDayCode);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
@OnClick(R.id.top_left_arrow)
|
||||
public void leftArrowClicked() {
|
||||
final DateTime dateTime = Formatter.getDateTimeFromCode(mDayCode);
|
||||
final String yesterdayCode = Formatter.getDayCodeFromDateTime(dateTime.minusDays(1));
|
||||
switchToDay(yesterdayCode);
|
||||
}
|
||||
|
||||
@OnClick(R.id.top_right_arrow)
|
||||
public void rightArrowClicked() {
|
||||
final DateTime dateTime = Formatter.getDateTimeFromCode(mDayCode);
|
||||
final String tomorrowCode = Formatter.getDayCodeFromDateTime(dateTime.plusDays(1));
|
||||
switchToDay(tomorrowCode);
|
||||
}
|
||||
|
||||
@OnClick(R.id.month_value)
|
||||
public void pickDay() {
|
||||
final int theme = mConfig.getIsDarkTheme() ? R.style.MyAlertDialog_Dark : R.style.MyAlertDialog;
|
||||
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this, theme);
|
||||
final View view = getLayoutInflater().inflate(R.layout.date_picker, null);
|
||||
final DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker);
|
||||
|
||||
final DateTime dateTime = Formatter.getDateTimeFromCode(mDayCode);
|
||||
datePicker.init(dateTime.getYear(), dateTime.getMonthOfYear() - 1, dateTime.getDayOfMonth(), null);
|
||||
|
||||
alertDialog.setView(view);
|
||||
alertDialog.setNegativeButton(R.string.cancel, null);
|
||||
alertDialog.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int id) {
|
||||
final int month = datePicker.getMonth() + 1;
|
||||
final int year = datePicker.getYear();
|
||||
final int day = datePicker.getDayOfMonth();
|
||||
final DateTime newDateTime = dateTime.withDayOfMonth(day).withMonthOfYear(month).withYear(year);
|
||||
String newDayCode = Formatter.getDayCodeFromDateTime(newDateTime);
|
||||
switchToDay(newDayCode);
|
||||
}
|
||||
});
|
||||
|
||||
alertDialog.show();
|
||||
}*/
|
||||
|
||||
private void switchToDay(String dayCode) {
|
||||
final Intent intent = new Intent(getApplicationContext(), DayActivity.class);
|
||||
intent.putExtra(Constants.DAY_CODE, dayCode);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(0, 0);
|
||||
}
|
||||
|
||||
private void editEvent(Event event) {
|
||||
final Intent intent = new Intent(getApplicationContext(), EventActivity.class);
|
||||
intent.putExtra(Constants.EVENT, event);
|
||||
startActivityForResult(intent, EDIT_EVENT);
|
||||
}
|
||||
|
||||
private void checkEvents() {
|
||||
final int startTS = Formatter.getDayStartTS(mDayCode);
|
||||
final int endTS = Formatter.getDayEndTS(mDayCode);
|
||||
DBHelper.newInstance(getApplicationContext(), this).getEvents(startTS, endTS);
|
||||
}
|
||||
|
||||
private void updateEvents(List<Event> events) {
|
||||
mEvents = new ArrayList<>(events);
|
||||
/*final List<Event> eventsToShow = getEventsToShow(events);
|
||||
final EventsAdapter adapter = new EventsAdapter(this, eventsToShow);
|
||||
mEventsList.setAdapter(adapter);
|
||||
mEventsList.setOnItemClickListener(this);
|
||||
mEventsList.setMultiChoiceModeListener(this);*/
|
||||
}
|
||||
|
||||
private List<Event> getEventsToShow(List<Event> events) {
|
||||
final int cnt = events.size();
|
||||
for (int i = cnt - 1; i >= 0; i--) {
|
||||
if (mToBeDeleted.contains(events.get(i).getId())) {
|
||||
events.remove(i);
|
||||
}
|
||||
}
|
||||
return events;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == EDIT_EVENT && resultCode == RESULT_OK && data != null) {
|
||||
final int deletedId = data.getIntExtra(DELETED_ID, -1);
|
||||
if (deletedId != -1) {
|
||||
mToBeDeleted.clear();
|
||||
mToBeDeleted.add(deletedId);
|
||||
notifyEventDeletion(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void eventInserted(Event event) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void eventUpdated(Event event) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void eventsDeleted(int cnt) {
|
||||
checkEvents();
|
||||
}
|
||||
|
||||
private void checkDeleteEvents() {
|
||||
if (mSnackbar != null && mSnackbar.isShown()) {
|
||||
deleteEvents();
|
||||
} else {
|
||||
undoDeletion();
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteEvents() {
|
||||
mSnackbar.dismiss();
|
||||
|
||||
final int cnt = mToBeDeleted.size();
|
||||
final String[] eventIDs = new String[cnt];
|
||||
for (int i = 0; i < cnt; i++) {
|
||||
eventIDs[i] = String.valueOf(mToBeDeleted.get(i));
|
||||
}
|
||||
|
||||
DBHelper.newInstance(getApplicationContext(), this).deleteEvents(eventIDs);
|
||||
}
|
||||
|
||||
private View.OnClickListener undoDeletion = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
undoDeletion();
|
||||
}
|
||||
};
|
||||
|
||||
private void undoDeletion() {
|
||||
if (mSnackbar != null) {
|
||||
mToBeDeleted.clear();
|
||||
mSnackbar.dismiss();
|
||||
updateEvents(mEvents);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gotEvents(List<Event> events) {
|
||||
updateEvents(events);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
editEvent(getEventsToShow(mEvents).get(position));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
|
||||
if (checked) {
|
||||
mSelectedItemsCnt++;
|
||||
} else {
|
||||
mSelectedItemsCnt--;
|
||||
}
|
||||
|
||||
mode.setTitle(String.valueOf(mSelectedItemsCnt));
|
||||
mode.invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
|
||||
checkDeleteEvents();
|
||||
final MenuInflater inflater = mode.getMenuInflater();
|
||||
inflater.inflate(R.menu.menu_day_cab, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.delete:
|
||||
prepareDeleteEvents();
|
||||
mode.finish();
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void prepareDeleteEvents() {
|
||||
/*final SparseBooleanArray checked = mEventsList.getCheckedItemPositions();
|
||||
for (int i = 0; i < mEvents.size(); i++) {
|
||||
if (checked.get(i)) {
|
||||
final Event event = mEvents.get(i);
|
||||
mToBeDeleted.add(event.getId());
|
||||
}
|
||||
}
|
||||
|
||||
notifyEventDeletion(mToBeDeleted.size());*/
|
||||
}
|
||||
|
||||
private void notifyEventDeletion(int cnt) {
|
||||
/*final Resources res = getResources();
|
||||
final String msg = res.getQuantityString(R.plurals.events_deleted, cnt, cnt);
|
||||
mSnackbar = Snackbar.make(mCoordinatorLayout, msg, Snackbar.LENGTH_INDEFINITE);
|
||||
mSnackbar.setAction(res.getString(R.string.undo), undoDeletion);
|
||||
mSnackbar.setActionTextColor(Color.WHITE);
|
||||
mSnackbar.show();
|
||||
updateEvents(mEvents);*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyActionMode(ActionMode mode) {
|
||||
mSelectedItemsCnt = 0;
|
||||
}
|
||||
}
|
@ -204,7 +204,7 @@ public class EventActivity extends SimpleActivity implements DBHelper.DBOperatio
|
||||
|
||||
private void deleteEvent() {
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(DayActivity.DELETED_ID, mEvent.getId());
|
||||
intent.putExtra(DayActivity.Companion.getDELETED_ID(), mEvent.getId());
|
||||
setResult(RESULT_OK, intent);
|
||||
finish();
|
||||
}
|
||||
|
@ -0,0 +1,280 @@
|
||||
package com.simplemobiletools.calendar.activities
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.support.design.widget.Snackbar
|
||||
import android.view.ActionMode
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.widget.AbsListView
|
||||
import android.widget.AdapterView
|
||||
import com.simplemobiletools.calendar.Constants
|
||||
import com.simplemobiletools.calendar.DBHelper
|
||||
import com.simplemobiletools.calendar.Formatter
|
||||
import com.simplemobiletools.calendar.R
|
||||
import com.simplemobiletools.calendar.models.Event
|
||||
import java.util.*
|
||||
|
||||
class DayActivity : SimpleActivity(), DBHelper.DBOperationsListener, AdapterView.OnItemClickListener, AbsListView.MultiChoiceModeListener {
|
||||
/*@BindView(R.id.month_value) internal var mDateTV: TextView? = null
|
||||
@BindView(R.id.day_events) internal var mEventsList: ListView? = null
|
||||
@BindView(R.id.day_coordinator) internal var mCoordinatorLayout: CoordinatorLayout? = null
|
||||
@BindView(R.id.top_left_arrow) internal var mLeftArrow: ImageView? = null
|
||||
@BindView(R.id.top_right_arrow) internal var mRightArrow: ImageView? = null
|
||||
|
||||
@BindDimen(R.dimen.activity_margin) internal var mActivityMargin: Int = 0*/
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_day)
|
||||
//ButterKnife.bind(this)
|
||||
|
||||
val intent = intent ?: return
|
||||
|
||||
mDayCode = intent.getStringExtra(Constants.DAY_CODE)
|
||||
if (mDayCode == null || mDayCode!!.isEmpty())
|
||||
return
|
||||
|
||||
val date = Formatter.getEventDate(applicationContext, mDayCode)
|
||||
/*mDateTV!!.text = date
|
||||
mToBeDeleted = ArrayList<Int>()
|
||||
|
||||
val baseColor = if (mConfig.isDarkTheme) Color.WHITE else Color.BLACK
|
||||
val textColor = Utils.adjustAlpha(baseColor, Constants.HIGH_ALPHA)
|
||||
mLeftArrow!!.drawable.mutate().setColorFilter(textColor, PorterDuff.Mode.SRC_ATOP)
|
||||
mRightArrow!!.drawable.mutate().setColorFilter(textColor, PorterDuff.Mode.SRC_ATOP)
|
||||
|
||||
var params = mLeftArrow!!.layoutParams as RelativeLayout.LayoutParams
|
||||
params.setMargins(mActivityMargin, params.topMargin, params.rightMargin, params.bottomMargin)
|
||||
|
||||
params = mRightArrow!!.layoutParams as RelativeLayout.LayoutParams
|
||||
params.setMargins(params.leftMargin, params.topMargin, mActivityMargin, params.bottomMargin)*/
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
checkEvents()
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
checkDeleteEvents()
|
||||
}
|
||||
|
||||
/*@OnClick(R.id.day_fab)
|
||||
fun fabClicked(view: View) {
|
||||
val intent = Intent(applicationContext, EventActivity::class.java)
|
||||
intent.putExtra(Constants.DAY_CODE, mDayCode)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
@OnClick(R.id.top_left_arrow)
|
||||
fun leftArrowClicked() {
|
||||
val dateTime = Formatter.getDateTimeFromCode(mDayCode)
|
||||
val yesterdayCode = Formatter.getDayCodeFromDateTime(dateTime.minusDays(1))
|
||||
switchToDay(yesterdayCode)
|
||||
}
|
||||
|
||||
@OnClick(R.id.top_right_arrow)
|
||||
fun rightArrowClicked() {
|
||||
val dateTime = Formatter.getDateTimeFromCode(mDayCode)
|
||||
val tomorrowCode = Formatter.getDayCodeFromDateTime(dateTime.plusDays(1))
|
||||
switchToDay(tomorrowCode)
|
||||
}
|
||||
|
||||
@OnClick(R.id.month_value)
|
||||
fun pickDay() {
|
||||
val theme = if (mConfig.isDarkTheme) R.style.MyAlertDialog_Dark else R.style.MyAlertDialog
|
||||
val alertDialog = AlertDialog.Builder(this, theme)
|
||||
val view = layoutInflater.inflate(R.layout.date_picker, null)
|
||||
val datePicker = view.findViewById(R.id.date_picker) as DatePicker
|
||||
|
||||
val dateTime = Formatter.getDateTimeFromCode(mDayCode)
|
||||
datePicker.init(dateTime.year, dateTime.monthOfYear - 1, dateTime.dayOfMonth, null)
|
||||
|
||||
alertDialog.setView(view)
|
||||
alertDialog.setNegativeButton(R.string.cancel, null)
|
||||
alertDialog.setPositiveButton(R.string.ok) { dialog, id ->
|
||||
val month = datePicker.month + 1
|
||||
val year = datePicker.year
|
||||
val day = datePicker.dayOfMonth
|
||||
val newDateTime = dateTime.withDayOfMonth(day).withMonthOfYear(month).withYear(year)
|
||||
val newDayCode = Formatter.getDayCodeFromDateTime(newDateTime)
|
||||
switchToDay(newDayCode)
|
||||
}
|
||||
|
||||
alertDialog.show()
|
||||
}*/
|
||||
|
||||
private fun switchToDay(dayCode: String) {
|
||||
val intent = Intent(applicationContext, DayActivity::class.java)
|
||||
intent.putExtra(Constants.DAY_CODE, dayCode)
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||
startActivity(intent)
|
||||
overridePendingTransition(0, 0)
|
||||
}
|
||||
|
||||
private fun editEvent(event: Event) {
|
||||
val intent = Intent(applicationContext, EventActivity::class.java)
|
||||
intent.putExtra(Constants.EVENT, event)
|
||||
startActivityForResult(intent, EDIT_EVENT)
|
||||
}
|
||||
|
||||
private fun checkEvents() {
|
||||
val startTS = Formatter.getDayStartTS(mDayCode)
|
||||
val endTS = Formatter.getDayEndTS(mDayCode)
|
||||
DBHelper.newInstance(applicationContext, this).getEvents(startTS, endTS)
|
||||
}
|
||||
|
||||
private fun updateEvents(events: MutableList<Event>) {
|
||||
mEvents = ArrayList(events)
|
||||
/*val eventsToShow = getEventsToShow(events)
|
||||
val adapter = EventsAdapter(this, eventsToShow)
|
||||
mEventsList!!.adapter = adapter
|
||||
mEventsList!!.onItemClickListener = this
|
||||
mEventsList!!.setMultiChoiceModeListener(this)*/
|
||||
}
|
||||
|
||||
private fun getEventsToShow(events: MutableList<Event>): List<Event> {
|
||||
val cnt = events.size
|
||||
for (i in cnt - 1 downTo 0) {
|
||||
if (mToBeDeleted!!.contains(events[i].id)) {
|
||||
events.removeAt(i)
|
||||
}
|
||||
}
|
||||
return events
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
if (requestCode == EDIT_EVENT && resultCode == Activity.RESULT_OK && data != null) {
|
||||
val deletedId = data.getIntExtra(DELETED_ID, -1)
|
||||
if (deletedId != -1) {
|
||||
mToBeDeleted!!.clear()
|
||||
mToBeDeleted!!.add(deletedId)
|
||||
notifyEventDeletion(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun eventInserted(event: Event) {
|
||||
|
||||
}
|
||||
|
||||
override fun eventUpdated(event: Event) {
|
||||
|
||||
}
|
||||
|
||||
override fun eventsDeleted(cnt: Int) {
|
||||
checkEvents()
|
||||
}
|
||||
|
||||
private fun checkDeleteEvents() {
|
||||
if (mSnackbar != null && mSnackbar!!.isShown) {
|
||||
deleteEvents()
|
||||
} else {
|
||||
undoDeletion()
|
||||
}
|
||||
}
|
||||
|
||||
private fun deleteEvents() {
|
||||
mSnackbar!!.dismiss()
|
||||
|
||||
val cnt = mToBeDeleted!!.size
|
||||
val eventIDs = arrayOfNulls<String>(cnt)
|
||||
for (i in 0..cnt - 1) {
|
||||
eventIDs[i] = mToBeDeleted!![i].toString()
|
||||
}
|
||||
|
||||
DBHelper.newInstance(applicationContext, this).deleteEvents(eventIDs)
|
||||
}
|
||||
|
||||
private val undoDeletion = View.OnClickListener { undoDeletion() }
|
||||
|
||||
private fun undoDeletion() {
|
||||
if (mSnackbar != null) {
|
||||
mToBeDeleted!!.clear()
|
||||
mSnackbar!!.dismiss()
|
||||
//updateEvents(mEvents)
|
||||
}
|
||||
}
|
||||
|
||||
override fun gotEvents(events: MutableList<Event>) {
|
||||
updateEvents(events)
|
||||
}
|
||||
|
||||
override fun onItemClick(parent: AdapterView<*>, view: View, position: Int, id: Long) {
|
||||
//editEvent(getEventsToShow(mEvents)[position])
|
||||
}
|
||||
|
||||
override fun onItemCheckedStateChanged(mode: ActionMode, position: Int, id: Long, checked: Boolean) {
|
||||
if (checked) {
|
||||
mSelectedItemsCnt++
|
||||
} else {
|
||||
mSelectedItemsCnt--
|
||||
}
|
||||
|
||||
mode.title = mSelectedItemsCnt.toString()
|
||||
mode.invalidate()
|
||||
}
|
||||
|
||||
override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean {
|
||||
checkDeleteEvents()
|
||||
val inflater = mode.menuInflater
|
||||
inflater.inflate(R.menu.menu_day_cab, menu)
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean {
|
||||
when (item.itemId) {
|
||||
R.id.delete -> {
|
||||
prepareDeleteEvents()
|
||||
mode.finish()
|
||||
return true
|
||||
}
|
||||
else -> return false
|
||||
}
|
||||
}
|
||||
|
||||
private fun prepareDeleteEvents() {
|
||||
/*val checked = mEventsList!!.checkedItemPositions
|
||||
for (i in mEvents!!.indices) {
|
||||
if (checked.get(i)) {
|
||||
val event = mEvents!![i]
|
||||
mToBeDeleted!!.add(event.id)
|
||||
}
|
||||
}
|
||||
|
||||
notifyEventDeletion(mToBeDeleted!!.size)*/
|
||||
}
|
||||
|
||||
private fun notifyEventDeletion(cnt: Int) {
|
||||
/*val res = resources
|
||||
val msg = res.getQuantityString(R.plurals.events_deleted, cnt, cnt)
|
||||
mSnackbar = Snackbar.make(mCoordinatorLayout!!, msg, Snackbar.LENGTH_INDEFINITE)
|
||||
mSnackbar!!.setAction(res.getString(R.string.undo), undoDeletion)
|
||||
mSnackbar!!.setActionTextColor(Color.WHITE)
|
||||
mSnackbar!!.show()
|
||||
updateEvents(mEvents)*/
|
||||
}
|
||||
|
||||
override fun onDestroyActionMode(mode: ActionMode) {
|
||||
mSelectedItemsCnt = 0
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val EDIT_EVENT = 1
|
||||
val DELETED_ID = "deleted_id"
|
||||
|
||||
private var mDayCode: String? = null
|
||||
private var mEvents: MutableList<Event>? = null
|
||||
private var mSelectedItemsCnt: Int = 0
|
||||
private var mSnackbar: Snackbar? = null
|
||||
private var mToBeDeleted: MutableList<Int>? = null
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user