Skip to content

Commit

Permalink
Added Move note to another activity feature
Browse files Browse the repository at this point in the history
  • Loading branch information
mannprerak2 committed Jun 3, 2018
1 parent 8300819 commit bdb853c
Show file tree
Hide file tree
Showing 22 changed files with 428 additions and 51 deletions.
Binary file modified .idea/caches/build_file_checksums.ser
Binary file not shown.
6 changes: 5 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,11 @@
<activity
android:name=".ListActivity"
android:label="@string/title_activity_list"
android:theme="@style/AppTheme.NoActionBar.white"/>
android:theme="@style/AppTheme.NoActionBar.white" />
<activity
android:name=".ActivityChoser"
android:label="@string/title_activity_choser"
android:theme="@style/AppTheme.NoActionBar"></activity>
</application>

</manifest>
113 changes: 113 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/ActivityChoser.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
package com.pkmnapps.activitydo;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;

import com.pkmnapps.activitydo.adapters.SimpleActivityAdapter;
import com.pkmnapps.activitydo.custominterfaces.ChangeActivityInterface;
import com.pkmnapps.activitydo.databasehelpers.DBHelper;
import com.pkmnapps.activitydo.databasehelpers.DBHelperImage;
import com.pkmnapps.activitydo.databasehelpers.DBHelperList;
import com.pkmnapps.activitydo.databasehelpers.DBHelperText;
import com.pkmnapps.activitydo.dataclasses.ActivityData;

import java.util.ArrayList;
import java.util.List;

public class ActivityChoser extends AppCompatActivity implements ChangeActivityInterface{
RecyclerView recyclerView;
SimpleActivityAdapter simpleActivityAdapter;
List<ActivityData> activityDataList;
int type;
String uid,aid;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_choser);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);


int action = getIntent().getIntExtra("action",-1);

if(action==MConstants.ACTION_MOVE_WIDGET){
uid = getIntent().getStringExtra("uid");
aid = getIntent().getStringExtra("aid");
type = getIntent().getIntExtra("type",-1);
if(uid==null|| uid.equals(""))
errorQuit();
else {
initialiseRecyclerview();
}
}
else {
errorQuit();
}


}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// app icon in action bar clicked; goto parent activity.
this.finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void initialiseRecyclerview(){
recyclerView = (RecyclerView)findViewById(R.id.recycler_view);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setNestedScrollingEnabled(false);
activityDataList = new ArrayList<>();
DBHelper dbHelper = new DBHelper(this);
activityDataList = dbHelper.getAllActivitiesAsList();
activityDataList.add(0,new ActivityData("0","Quick Notes","#38444b"));
simpleActivityAdapter = new SimpleActivityAdapter(activityDataList,this);
recyclerView.setAdapter(simpleActivityAdapter);
}

private void errorQuit() {
setResult(RESULT_CANCELED);
Toast.makeText(this,"Action not supported",Toast.LENGTH_SHORT).show();
finish();
}

@Override
public void changeActivity(String aid) {
if(!this.aid.equals(aid)) {
setResult(RESULT_OK, getIntent());
switch (type) {
case MConstants.textW:
new DBHelperText(this).updateAid(uid, aid);
break;
case MConstants.imageW:
new DBHelperImage(this).updateAid(uid, aid);
break;
case MConstants.listW:
new DBHelperList(this).updateAid(uid, aid);
break;
}
if(aid.equals("0")){//used to update quicknotesfragment only if it was transferred there
QuickNotesFragment.activityMovedHere = true;
}
}
finish();
}
}
4 changes: 2 additions & 2 deletions app/src/main/java/com/pkmnapps/activitydo/HomeFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolde
}
};
ItemTouchHelper.Callback itcallbackswipe = new ItemTouchHelper.Callback() {

@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE,ItemTouchHelper.RIGHT);
Expand All @@ -160,8 +161,7 @@ public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {

ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itcallback);
itemTouchHelper.attachToRecyclerView(recyclerView);
itemTouchHelperSwipe.attachToRecyclerView(recyclerView)
;
itemTouchHelperSwipe.attachToRecyclerView(recyclerView);
Button addNewButton = (Button)view.findViewById(R.id.addNewButton);
addNewButton.setOnClickListener(new View.OnClickListener() {
@Override
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/MConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ public class MConstants {

public static final int REQUEST_NEW_LIST = 4;

public static final int REQUEST_WIDGET_ACTIVITY_CHANGE = 11;

public static final int ACTION_MOVE_WIDGET = 10;

}

Expand Down
30 changes: 30 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
* create an instance of this fragment.
*/
public class QuickNotesFragment extends Fragment implements TaskActivityInterface{
static boolean activityMovedHere = false;
public ActivityData activityData;
BottomSheetLayout bottomSheetLayout;
View currentSheetView;
Expand Down Expand Up @@ -138,6 +139,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
return view;
}

@Override
public void onStart() {
if(activityMovedHere){//used when item is moved to quicknotes from any activity
widgets.clear();
initialiseRecyclerViewData();
activityMovedHere = false;
}
super.onStart();
}

// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri) {
if (mListener != null) {
Expand Down Expand Up @@ -240,6 +251,13 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d
dbHelperWidgets.updateAllWidgetSortOrders(widgets);
activityContentAdapter.notifyDataSetChanged();
}
else if(requestCode == MConstants.REQUEST_WIDGET_ACTIVITY_CHANGE && data != null){
int pos = data.getIntExtra("pos",-1);
if(pos!=-1) {
widgets.remove(pos);
activityContentAdapter.notifyItemRemoved(pos);
}
}
}
}

Expand Down Expand Up @@ -416,6 +434,7 @@ public boolean onMenuItemClick(MenuItem item) {
}
});
menuSheetView.inflateMenu(R.menu.widget_menu);
bottomSheetLayout.setShouldDimContentView(false);
bottomSheetLayout.showWithSheetView(menuSheetView);
}
public void createNote() {
Expand Down Expand Up @@ -608,4 +627,15 @@ public void onCancel(DialogInterface dialog) {
});
builder.show();
}

@Override
public void changeActivtyOfWidget(int type, String uid, int pos) {
Intent intent = new Intent(getContext(),ActivityChoser.class);
intent.putExtra("action",MConstants.ACTION_MOVE_WIDGET);
intent.putExtra("type",type);
intent.putExtra("uid",uid);
intent.putExtra("pos",pos);
intent.putExtra("aid",activityData.getId());
startActivityForResult(intent,MConstants.REQUEST_WIDGET_ACTIVITY_CHANGE);
}
}
17 changes: 17 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/TaskActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,12 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d
//update ui
dbHelperWidgets.updateAllWidgetSortOrders(widgets);
activityContentAdapter.notifyDataSetChanged();
}else if(requestCode == MConstants.REQUEST_WIDGET_ACTIVITY_CHANGE && data != null){
int pos = data.getIntExtra("pos",-1);
if(pos!=-1) {
widgets.remove(pos);
activityContentAdapter.notifyItemRemoved(pos);
}
}
}
}
Expand Down Expand Up @@ -253,6 +259,7 @@ public boolean onMenuItemClick(MenuItem item) {
}
});
menuSheetView.inflateMenu(R.menu.widget_menu);
bottomSheetLayout.setShouldDimContentView(false);
bottomSheetLayout.showWithSheetView(menuSheetView);
}

Expand Down Expand Up @@ -601,5 +608,15 @@ public void onCancel(DialogInterface dialog) {
});
builder.show();
}
@Override
public void changeActivtyOfWidget(int type, String uid, int pos) {
Intent intent = new Intent(this,ActivityChoser.class);
intent.putExtra("action",MConstants.ACTION_MOVE_WIDGET);
intent.putExtra("type",type);
intent.putExtra("uid",uid);
intent.putExtra("pos",pos);
intent.putExtra("aid",activityData.getId());
startActivityForResult(intent,MConstants.REQUEST_WIDGET_ACTIVITY_CHANGE);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.pkmnapps.activitydo.ActivityChoser;
import com.pkmnapps.activitydo.ImageViewFullscreen;
import com.pkmnapps.activitydo.MConstants;
import com.pkmnapps.activitydo.R;
Expand Down Expand Up @@ -127,7 +128,10 @@ public void onClick(View v) {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_delete)
taskActivityInterface.deleteWidget(widgets.get(position));
taskActivityInterface.deleteWidget(widgets.get(holder.getAdapterPosition()));
else if(item.getItemId()==R.id.action_change_activity){
taskActivityInterface.changeActivtyOfWidget(MConstants.textW,t.getUid(),holder.getAdapterPosition());
}
return true;
}
});
Expand Down Expand Up @@ -163,7 +167,10 @@ public void onClick(View v) {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_delete)
taskActivityInterface.deleteWidget(widgets.get(position));
taskActivityInterface.deleteWidget(widgets.get(holder.getAdapterPosition()));
else if(item.getItemId()==R.id.action_change_activity){
taskActivityInterface.changeActivtyOfWidget(MConstants.listW,l.getUid(),holder.getAdapterPosition());
}
return true;
}
});
Expand Down Expand Up @@ -196,7 +203,10 @@ public void onClick(View v) {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_delete)
taskActivityInterface.deleteWidget(widgets.get(position));
taskActivityInterface.deleteWidget(widgets.get(holder.getAdapterPosition()));
else if(item.getItemId()==R.id.action_change_activity){
taskActivityInterface.changeActivtyOfWidget(MConstants.imageW,i.getUid(),holder.getAdapterPosition());
}
return true;
}
});
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package com.pkmnapps.activitydo.adapters;

import android.content.Intent;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;

import com.pkmnapps.activitydo.R;
import com.pkmnapps.activitydo.TaskActivity;
import com.pkmnapps.activitydo.custominterfaces.ChangeActivityInterface;
import com.pkmnapps.activitydo.custominterfaces.HomeFragInterace;
import com.pkmnapps.activitydo.databasehelpers.DBHelper;
import com.pkmnapps.activitydo.dataclasses.ActivityData;

import java.util.List;

public class SimpleActivityAdapter extends RecyclerView.Adapter<SimpleActivityAdapter.MyViewHolder> {

private List<ActivityData> activityDataList;
private ChangeActivityInterface changeActivityInterface;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public CheckBox pinned;
public ImageButton more;
public ImageView label;

public MyViewHolder(View view) {
super(view);
name = (TextView)view.findViewById(R.id.nameTextView);
pinned = (CheckBox)view.findViewById(R.id.pinCheckBox);
label = (ImageView) view.findViewById(R.id.colorView);
more = (ImageButton)view.findViewById(R.id.more_button);
}
}

public SimpleActivityAdapter(List<ActivityData> activityDataList, ChangeActivityInterface changeActivityInterface) {
this.activityDataList = activityDataList;
this.changeActivityInterface = changeActivityInterface;
}

@NonNull
@Override
public SimpleActivityAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_activity_layout, parent, false);

return new SimpleActivityAdapter.MyViewHolder(itemView);
}

@Override
public void onBindViewHolder(@NonNull final SimpleActivityAdapter.MyViewHolder holder, int position) {
final ActivityData activityData = activityDataList.get(position);
holder.pinned.setChecked(activityData.getPinned());
holder.name.setText(activityData.getName());
holder.label.setColorFilter(Color.parseColor(activityData.getColor()), PorterDuff.Mode.SRC_ATOP);

holder.pinned.setEnabled(false);
holder.more.setVisibility(View.GONE);

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(changeActivityInterface!=null)
changeActivityInterface.changeActivity(activityData.getId());
}
});
}

@Override
public int getItemCount() {
return activityDataList.size();
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.pkmnapps.activitydo.custominterfaces;

public interface ChangeActivityInterface {
void changeActivity(String uid);
}
Loading

0 comments on commit bdb853c

Please sign in to comment.