Skip to content

Commit

Permalink
Added context menu to recycler items
Browse files Browse the repository at this point in the history
Added share button to note and list
  • Loading branch information
mannprerak2 committed May 31, 2018
1 parent 08e3bc4 commit a4a4abe
Show file tree
Hide file tree
Showing 26 changed files with 245 additions and 35 deletions.
9 changes: 6 additions & 3 deletions .idea/assetWizardSettings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public class HomeFragment extends Fragment implements HomeFragInterace{
DBHelper dbHelper;
View dialogView;
String colorTheme = MConstants.colors[0];

// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
package com.pkmnapps.activitydo;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.content.FileProvider;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageButton;

import com.bumptech.glide.Glide;
import com.github.chrisbanes.photoview.PhotoView;
import com.pkmnapps.activitydo.contentproviders.ImageProvider;

import java.io.File;

Expand Down
24 changes: 24 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/ListActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
Expand Down Expand Up @@ -92,12 +93,35 @@ public void onBackPressed() {
super.onBackPressed();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_note, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// app icon in action bar clicked; goto parent activity.
onBackPressed();
return true;
case R.id.action_share:
clearFocus();
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(headE.getText().toString());
stringBuilder.append("\n\n");
for(ListItem l: listItems){
stringBuilder.append(" - ");

stringBuilder.append(l.getContent());

stringBuilder.append("\n");
}
sendIntent.putExtra(Intent.EXTRA_TEXT, stringBuilder.toString());
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, "Share via"));
return true;
default:
return super.onOptionsItemSelected(item);
}
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 @@ -2,6 +2,9 @@

public class MConstants {
public static String[] colors = {"#3f79b4","#50933c","#afaf41","#af4541","#673a9e"};

public static String selectColor = "#32000000";

public static final int textW = 1;
public static final int listW = 2;
public static final int imageW = 3;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public void onBackPressed() {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

Expand Down
11 changes: 10 additions & 1 deletion app/src/main/java/com/pkmnapps/activitydo/NoteActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ protected void onCreate(Bundle savedInstanceState) {

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_task_activity, menu);
getMenuInflater().inflate(R.menu.menu_note, menu);
return super.onCreateOptionsMenu(menu);
}

Expand All @@ -57,6 +57,15 @@ public boolean onOptionsItemSelected(MenuItem item) {
// app icon in action bar clicked; goto parent activity.
this.finish();
return true;
case R.id.action_share:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
head = headE.getText().toString();
body = bodyE.getText().toString();
sendIntent.putExtra(Intent.EXTRA_TEXT, head + "\n" + body);
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, "Share via"));
return true;
default:
return super.onOptionsItemSelected(item);
}
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/pkmnapps/activitydo/TaskActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent d
if(index==-1000) {//new list
widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0));
}
else {//edit list
else {//more list
widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index));
}
//update ui
Expand Down Expand Up @@ -525,7 +525,7 @@ public void editWidget(final Widget widget) {
intent2.putExtra("lid",listWidget.getUid());
intent2.putExtra("head",listWidget.getHead());
intent2.putExtra("index",widgets.indexOf(widget));
intent2.putExtra("edit","1");
intent2.putExtra("more","1");
startActivityForResult(intent2,MConstants.REQUEST_NEW_LIST);
break;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.ImageButton;
import android.widget.PopupMenu;
import android.widget.TextView;

import com.pkmnapps.activitydo.databasehelpers.DBHelper;
Expand All @@ -28,15 +31,15 @@ public class ActivityAdapter extends RecyclerView.Adapter<ActivityAdapter.MyView
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public CheckBox pinned;
public ImageButton edit;
public ImageButton more;
public View v;

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

Expand Down Expand Up @@ -73,10 +76,23 @@ public void onClick(View v) {
homeFrag.updatePinnedMenu();
}
});
holder.edit.setOnClickListener(new View.OnClickListener() {
holder.more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
homeFrag.displayEditDialog(activityData);
PopupMenu popupMenu = new PopupMenu(holder.itemView.getContext(),holder.more);

popupMenu.getMenuInflater().inflate(R.menu.activity_data_menu,popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_edit)
homeFrag.displayEditDialog(activityData);
else if(item.getItemId()==R.id.action_delete)
homeFrag.displayDeleteDialog(activityData);
return true;
}
});
popupMenu.show();
}
});
holder.itemView.setOnClickListener(new View.OnClickListener() {
Expand All @@ -94,6 +110,7 @@ public void onClick(View v) {
holder.itemView.getContext().startActivity(i);
}
});

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@
import android.support.v7.widget.LinearLayoutManager;
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.ImageButton;
import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;

import com.bumptech.glide.Glide;
Expand All @@ -23,6 +26,7 @@
import com.pkmnapps.activitydo.dataclasses.SimpleTextWidget;
import com.pkmnapps.activitydo.dataclasses.Widget;

import java.security.PublicKey;
import java.util.List;

public class ActivityContentAdapter extends RecyclerView.Adapter{
Expand All @@ -31,26 +35,36 @@ public class ActivityContentAdapter extends RecyclerView.Adapter{
TaskActivityInterface taskActivityInterface;
public class MyTextViewHolder extends RecyclerView.ViewHolder {
public TextView head,body;
public ImageButton more;
public MyTextViewHolder(View view) {
super(view);
head = (TextView)view.findViewById(R.id.head_textView);
body = (TextView)view.findViewById(R.id.body_textView);
more = (ImageButton)view.findViewById(R.id.more_button);
}
}
public class MyListViewHolder extends RecyclerView.ViewHolder {
public TextView head;
public RecyclerView recyclerView;
public ImageButton more;

public MyListViewHolder(View view) {
super(view);
head = (TextView)view.findViewById(R.id.head_textView);
recyclerView = (RecyclerView)view.findViewById(R.id.recycler_view);
more = (ImageButton)view.findViewById(R.id.more_button);

}
}
public class MyImageViewHolder extends RecyclerView.ViewHolder {
public ImageView imageView;
public ImageButton more;

public MyImageViewHolder(View view) {
super(view);
imageView = (ImageView)view.findViewById(R.id.widget_imageView);
more = (ImageButton)view.findViewById(R.id.more_button);

}
}
public class MyAudioViewHolder extends RecyclerView.ViewHolder {
Expand Down Expand Up @@ -103,6 +117,23 @@ public void onClick(View v) {
taskActivityInterface.editWidget(widgets.get(holder.getAdapterPosition()));
}
});
((MyTextViewHolder)holder).more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(holder.itemView.getContext(),((MyTextViewHolder)holder).more);

popupMenu.getMenuInflater().inflate(R.menu.recycler_task_menu,popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_delete)
taskActivityInterface.deleteWidget(widgets.get(position));
return true;
}
});
popupMenu.show();
}
});
break;
case MConstants.listW:
final ListWidget l = (ListWidget)widget;
Expand All @@ -122,6 +153,23 @@ public void onClick(View v) {
taskActivityInterface.editWidget(widgets.get(holder.getAdapterPosition()));
}
});
((MyListViewHolder)holder).more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(holder.itemView.getContext(),((MyListViewHolder)holder).more);

popupMenu.getMenuInflater().inflate(R.menu.recycler_task_menu,popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_delete)
taskActivityInterface.deleteWidget(widgets.get(position));
return true;
}
});
popupMenu.show();
}
});
break;
case MConstants.imageW:
final ImageWidget i = (ImageWidget)widget;
Expand All @@ -138,6 +186,23 @@ public void onClick(View v) {
((MyImageViewHolder)holder).itemView.getContext().startActivity(intent);
}
});
((MyImageViewHolder)holder).more.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(holder.itemView.getContext(),((MyImageViewHolder)holder).more);

popupMenu.getMenuInflater().inflate(R.menu.recycler_task_menu,popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if(item.getItemId()==R.id.action_delete)
taskActivityInterface.deleteWidget(widgets.get(position));
return true;
}
});
popupMenu.show();
}
});
break;
case MConstants.audioW:
break;
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_more_vert_black_24dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="18dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="18dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_more_vert_grey_24dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="18dp" android:tint="#5C5C5C"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="18dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
</vector>
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/ic_share_black_24dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z"/>
</vector>
1 change: 0 additions & 1 deletion app/src/main/res/layout/activity_image_view_fullscreen.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
android:scaleType="centerInside"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<!-- This FrameLayout insets its children based on system windows using
android:fitsSystemWindows. -->
<FrameLayout
Expand Down
Loading

0 comments on commit a4a4abe

Please sign in to comment.