diff --git a/app/src/main/java/com/pkmnapps/activitydo/ListActivity.java b/app/src/main/java/com/pkmnapps/activitydo/ListActivity.java index 23d3b8b..e85139e 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/ListActivity.java +++ b/app/src/main/java/com/pkmnapps/activitydo/ListActivity.java @@ -69,7 +69,6 @@ public void onClick(View v) { recyclerView.setLayoutManager(mLayoutManager); recyclerView.setItemAnimator(new DefaultItemAnimator()); recyclerView.setNestedScrollingEnabled(false); - //recyclerView.setItemViewCacheSize(100); recyclerView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { @@ -81,9 +80,7 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { listAdapter = new ListAdapter(listItems, ListActivity.this); recyclerView.setAdapter(listAdapter); - - - + setResult(Activity.RESULT_OK,data); } @@ -133,20 +130,26 @@ protected void onPause() {//will run always no-matter how activity is closed //save data on pause activity head = headE.getText().toString(); - new DBHelperList(ListActivity.this).updateHead(lid,head); + DBHelperList dbHelperList = new DBHelperList(ListActivity.this); + dbHelperList.updateHead(lid,head); DBHelperListItems dbHelperListItems = new DBHelperListItems(ListActivity.this); //save listitems + if(listItems.size()>0) { for (ListItem listItem : listItems) { - if (dbHelperListItems.updateActivity(listItem)==0) + if (dbHelperListItems.updateActivity(listItem) == 0) dbHelperListItems.insertListItem(listItem); } - + }else { + if(head.equals("")) + dbHelperList.deleteList(lid); + } super.onPause(); } @Override public void deleteListItem(ListItem listItem) { listItems.remove(listItem); + listAdapter.notifyDataSetChanged(); } @Override @@ -154,7 +157,7 @@ public void newListItem() { //save previous list first listItems.add(new ListItem(String.valueOf(System.currentTimeMillis()), lid,"",false)); - listAdapter.notifyDataSetChanged(); + listAdapter.notifyItemInserted(listItems.size() - 1); } public void loadData(){ diff --git a/app/src/main/java/com/pkmnapps/activitydo/NoteActivity.java b/app/src/main/java/com/pkmnapps/activitydo/NoteActivity.java index 4bbf744..644004e 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/NoteActivity.java +++ b/app/src/main/java/com/pkmnapps/activitydo/NoteActivity.java @@ -77,8 +77,12 @@ protected void onPause() { body = bodyE.getText().toString(); DBHelperText dbHelperText = new DBHelperText(NoteActivity.this); //save to database + if(head.equals("") && body.equals("")){ + dbHelperText.deleteText(uid); + } + else { dbHelperText.updateHeadBody(uid, head, body); - + } super.onPause(); } diff --git a/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java b/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java index 4a2d9e9..9e41959 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java +++ b/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java @@ -242,10 +242,15 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d int index = data.getIntExtra("index",-1000); if(index==-1000) {//new list - widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0)); + if(listWidget!=null) + widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0)); } else {//more list - widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index)); + if(listWidget!=null) + widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index)); + else { + widgets.remove(index); + } } //update ui dbHelperWidgets.updateAllWidgetSortOrders(widgets); diff --git a/app/src/main/java/com/pkmnapps/activitydo/TaskActivity.java b/app/src/main/java/com/pkmnapps/activitydo/TaskActivity.java index ba1c28c..f5ae6f4 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/TaskActivity.java +++ b/app/src/main/java/com/pkmnapps/activitydo/TaskActivity.java @@ -176,10 +176,15 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d int index = data.getIntExtra("index",-1000); if(index==-1000) {//new list - widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0)); + if(listWidget!=null) + widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0)); } else {//more list - widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index)); + if(listWidget!=null) + widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index)); + else{ + widgets.remove(index); + } } //update ui dbHelperWidgets.updateAllWidgetSortOrders(widgets); diff --git a/app/src/main/java/com/pkmnapps/activitydo/adapters/ListAdapter.java b/app/src/main/java/com/pkmnapps/activitydo/adapters/ListAdapter.java index 89772aa..93c9deb 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/adapters/ListAdapter.java +++ b/app/src/main/java/com/pkmnapps/activitydo/adapters/ListAdapter.java @@ -78,7 +78,6 @@ public void onClick(View v) { new DBHelperListItems(holder.itemView.getContext()).deleteListItem(listItem.getUid()); listItems.remove(listItem); listActivityInterface.deleteListItem(listItem); - notifyDataSetChanged(); } }); holder.content.setOnFocusChangeListener(new View.OnFocusChangeListener() { @@ -93,6 +92,7 @@ public void onFocusChange(View v, boolean hasFocus) { } } }); + holder.content.requestFocus(); } @Override diff --git a/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperList.java b/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperList.java index 39e96d0..17ad899 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperList.java +++ b/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperList.java @@ -81,13 +81,15 @@ public void deleteAllLists(String aid){ } public ListWidget getListWidget(String lid){ - ListWidget listWidget; + ListWidget listWidget = null; SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from "+HOME_TABLE_NAME +" where uid=?", new String[]{lid}); res.moveToFirst(); + if(res.getCount()>0) { listWidget = new ListWidget(res.getString(res.getColumnIndex(HOME_COLUMN_UID)), res.getString(res.getColumnIndex(HOME_COLUMN_AID)), res.getString(res.getColumnIndex(HOME_COLUMN_HEAD))); + } res.close(); return listWidget; } diff --git a/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperText.java b/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperText.java index ae30f98..2cf8433 100644 --- a/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperText.java +++ b/app/src/main/java/com/pkmnapps/activitydo/databasehelpers/DBHelperText.java @@ -80,14 +80,16 @@ public int deleteAllTexts(String aid){ new String[] { aid }); } public SimpleTextWidget getTextWidget(String uid){ - SimpleTextWidget s; + SimpleTextWidget s = null; SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from "+HOME_TABLE_NAME +" where uid=?", new String[]{uid}); res.moveToFirst(); + if(res.getCount()!=0) { s = new SimpleTextWidget(res.getString(res.getColumnIndex(HOME_COLUMN_UID)), res.getString(res.getColumnIndex(HOME_COLUMN_AID)), res.getString(res.getColumnIndex(HOME_COLUMN_HEAD)), res.getString(res.getColumnIndex(HOME_COLUMN_BODY))); + } res.close(); return s; }