|
|
|
@ -67,9 +67,9 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|
|
|
|
ImageView ivSync;
|
|
|
|
|
TextView tvError;
|
|
|
|
|
|
|
|
|
|
private final static int action_edit = 1;
|
|
|
|
|
private final static int action_sync = 2;
|
|
|
|
|
private final static int action_delete = 3;
|
|
|
|
|
private final static int action_synchronize_now = 1;
|
|
|
|
|
private final static int action_delete_local = 2;
|
|
|
|
|
private final static int action_edit_properties = 3;
|
|
|
|
|
|
|
|
|
|
ViewHolder(View itemView) {
|
|
|
|
|
super(itemView);
|
|
|
|
@ -163,26 +163,21 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|
|
|
|
|
|
|
|
|
PopupMenu popupMenu = new PopupMenu(context, itemView);
|
|
|
|
|
|
|
|
|
|
popupMenu.getMenu().add(Menu.NONE, action_sync, 1, R.string.title_synchronize_now);
|
|
|
|
|
popupMenu.getMenu().findItem(action_sync).setEnabled("connected".equals(accountState));
|
|
|
|
|
popupMenu.getMenu().add(Menu.NONE, action_synchronize_now, 1, R.string.title_synchronize_now);
|
|
|
|
|
popupMenu.getMenu().findItem(action_synchronize_now).setEnabled("connected".equals(accountState));
|
|
|
|
|
|
|
|
|
|
if (!EntityFolder.DRAFTS.equals(folder.type))
|
|
|
|
|
popupMenu.getMenu().add(Menu.NONE, action_delete, 2, R.string.title_delete_local);
|
|
|
|
|
popupMenu.getMenu().add(Menu.NONE, action_delete_local, 2, R.string.title_delete_local);
|
|
|
|
|
|
|
|
|
|
if (folder.account != null)
|
|
|
|
|
popupMenu.getMenu().add(Menu.NONE, action_edit, 3, R.string.title_edit_properties);
|
|
|
|
|
popupMenu.getMenu().add(Menu.NONE, action_edit_properties, 3, R.string.title_edit_properties);
|
|
|
|
|
|
|
|
|
|
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public boolean onMenuItemClick(MenuItem target) {
|
|
|
|
|
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
|
|
|
|
|
switch (target.getItemId()) {
|
|
|
|
|
case action_edit:
|
|
|
|
|
lbm.sendBroadcast(
|
|
|
|
|
new Intent(ActivityView.ACTION_EDIT_FOLDER)
|
|
|
|
|
.putExtra("id", folder.id));
|
|
|
|
|
break;
|
|
|
|
|
case action_sync:
|
|
|
|
|
case action_synchronize_now:
|
|
|
|
|
Log.i(Helper.TAG, folder.name + " requesting sync");
|
|
|
|
|
lbm.sendBroadcast(
|
|
|
|
|
new Intent(ServiceSynchronize.ACTION_SYNCHRONIZE_FOLDER)
|
|
|
|
@ -190,7 +185,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|
|
|
|
.putExtra("folder", folder.id));
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case action_delete:
|
|
|
|
|
case action_delete_local:
|
|
|
|
|
Bundle args = new Bundle();
|
|
|
|
|
args.putLong("id", folder.id);
|
|
|
|
|
args.putBoolean("outbox", folder.account == null);
|
|
|
|
@ -215,6 +210,12 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
|
|
|
|
}.load(context, owner, args);
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case action_edit_properties:
|
|
|
|
|
lbm.sendBroadcast(
|
|
|
|
|
new Intent(ActivityView.ACTION_EDIT_FOLDER)
|
|
|
|
|
.putExtra("id", folder.id));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|