Skip to content

Commit

Permalink
Modification are auto pushed with git
Browse files Browse the repository at this point in the history
  • Loading branch information
wizmer committed Jun 18, 2016
1 parent d6b2641 commit adbb502
Show file tree
Hide file tree
Showing 31 changed files with 1,268 additions and 1,747 deletions.
3 changes: 0 additions & 3 deletions MobileOrg/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,6 @@

<service android:name=".Services.TimeclockService"></service>

<activity
android:name=".Services.TimeclockDialog"
android:theme="@android:style/Theme.Dialog"></activity>
<activity android:name=".Gui.Agenda.AgendaSettings"></activity>
<activity android:name=".Gui.Agenda.AgendaEntrySetting"></activity>
<activity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,22 @@ public class EditNodeFragment extends Fragment {
public static String NODE_ID = "node_id";
public static String PARENT_ID = "parent_id";
static public long nodeId = -1, parentId = -1;
private int position = 0;
static Button schedule, deadline;
static OrgNodeTimeDate.TYPE currentDateTimeDialog;
static private OrgNode node;

EditText title, content;
static Button schedule, deadline;
private int position = 0;
private Button todo, priority;

static OrgNodeTimeDate.TYPE currentDateTimeDialog;
static private void setupTimeStampButtons() {
String scheduleText = node.getOrgNodePayload().getTimestamp(OrgNodeTimeDate.TYPE.Scheduled);
String deadlineText = node.getOrgNodePayload().getTimestamp(OrgNodeTimeDate.TYPE.Deadline);
if (scheduleText.length() > 0) schedule.setText(scheduleText);
else schedule.setText(schedule.getResources().getString(R.string.scheduled));

if (deadlineText.length() > 0) deadline.setText(deadlineText);
else deadline.setText(deadline.getResources().getString(R.string.deadline));
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Expand Down Expand Up @@ -155,18 +162,12 @@ private void createNewNode(ContentResolver resolver){
e.printStackTrace();
}
}
static private void setupTimeStampButtons() {
String scheduleText = node.getOrgNodePayload().getTimestamp(OrgNodeTimeDate.TYPE.Scheduled);
String deadlineText = node.getOrgNodePayload().getTimestamp(OrgNodeTimeDate.TYPE.Deadline);
if(scheduleText.length() > 0) schedule.setText(scheduleText);
else schedule.setText(schedule.getResources().getString(R.string.scheduled));

if(deadlineText.length() > 0) deadline.setText(deadlineText);
else deadline.setText(deadline.getResources().getString(R.string.deadline));
}

/**
* Called by EditNodeActivity when the OK button from the menu bar is pressed
* Triggers the update mechanism
* First the new node is written to the DB
* Then the file is written to disk
*/
public void onOKPressed(){
ContentResolver resolver = getContext().getContentResolver();
Expand All @@ -180,17 +181,17 @@ public void onOKPressed(){
try {
Log.v("sync","hello");
OrgNode original = new OrgNode(nodeId, resolver);
original.generateApplyWriteEdits(node, null, resolver);
node.write(resolver);
OrgEdit.updateFile(original, node, getContext());
} catch (OrgNodeNotFoundException e) {
Log.v("sync","loser");
e.printStackTrace();
}
} else {
node.shiftNextSiblingNodes(resolver);
OrgEdit edit = node.createParentNewheading(resolver);
edit.write(resolver);
node.write(resolver);
OrgEdit.updateFile(null, node, getContext());
}
node.write(resolver);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
new ByteArrayInputStream(decryptedData.getBytes())));

OrgDatabase db = OrgDatabase.getInstance(this);
OrgFileParser parser = new OrgFileParser(db, getContentResolver());
OrgFileParser parser = new OrgFileParser(db, this);
parser.parse(new OrgFile(filename, name, checksum), reader, this);
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,71 @@
import com.matburt.mobileorg2.util.OrgFileNotFoundException;

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

public class OutlineAdapter extends RecyclerView.Adapter<OutlineAdapter.OutlineItem> {
private final AppCompatActivity activity;
private ContentResolver resolver;
public List<OrgNode> items = new ArrayList<>();
ActionMode actionMode;
private ContentResolver resolver;
private boolean mTwoPanes = false;
public List<OrgNode> items = new ArrayList<>();
private SparseBooleanArray selectedItems;
ActionMode actionMode;

// Number of added items. Here it is two: Agenda and Todos.
private int numExtraItems = 2;
private ActionMode.Callback mDeleteMode = new ActionMode.Callback() {
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
Log.v("selection", "onPrepare");
String wordItem;
int count = getSelectedItemCount();
if (count == 1) wordItem = activity.getResources().getString(R.string.file);
else wordItem = activity.getResources().getString(R.string.files);
menu.findItem(R.id.action_text).setTitle(count + " " + wordItem);
return false;
}

@Override
public void onDestroyActionMode(ActionMode actionMode) {
OutlineAdapter.this.clearSelections();
}

@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuInflater inflater = activity.getMenuInflater();
inflater.inflate(R.menu.main_context_action_bar, menu);

return true;
}

@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
Log.v("selection", "item clicked");
switch (menuItem.getItemId()) {
case R.id.item_delete:
String message;
int numSelectedItems = getSelectedItemCount();
if (numSelectedItems == 1)
message = activity.getResources().getString(R.string.prompt_delete_file);
else {
message = activity.getResources().getString(R.string.prompt_delete_files);
message = message.replace("#", String.valueOf(numSelectedItems));
}

new AlertDialog.Builder(activity)
.setMessage(message)
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
deleteSelectedFiles();
}
})
.setNegativeButton(android.R.string.no, null).show();
return true;
}
return false;
}
};
private DefaultTheme theme;

public OutlineAdapter(AppCompatActivity activity) {
super();
Expand Down Expand Up @@ -75,7 +127,6 @@ public void refresh() {
return new OutlineItem(v);
}


@Override
public void onBindViewHolder(final OutlineItem holder, final int position) {
int positionInItems = position - numExtraItems;
Expand Down Expand Up @@ -207,76 +258,19 @@ public List<Integer> getSelectedItems() {
return items;
}

private ActionMode.Callback mDeleteMode = new ActionMode.Callback() {
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
Log.v("selection","onPrepare");
String wordItem;
int count = getSelectedItemCount();
if(count == 1) wordItem = activity.getResources().getString(R.string.file);
else wordItem = activity.getResources().getString(R.string.files);
menu.findItem(R.id.action_text).setTitle(count + " " + wordItem);
return false;
}

@Override
public void onDestroyActionMode(ActionMode actionMode) {
OutlineAdapter.this.clearSelections();
}

@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuInflater inflater = activity.getMenuInflater();
inflater.inflate(R.menu.main_context_action_bar, menu);

return true;
}

@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
Log.v("selection","item clicked");
switch (menuItem.getItemId()) {
case R.id.item_delete:
String message;
int numSelectedItems = getSelectedItemCount();
if(numSelectedItems == 1) message = activity.getResources().getString(R.string.prompt_delete_file);
else {
message = activity.getResources().getString(R.string.prompt_delete_files);
message = message.replace("#", String.valueOf(numSelectedItems));
}

new AlertDialog.Builder(activity)
.setMessage(message)
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
deleteSelectedFiles();
}})
.setNegativeButton(android.R.string.no, null).show();
return true;
}
return false;
}
};




private DefaultTheme theme;

private void deleteSelectedFiles(){
List<Integer> selectedItems = getSelectedItems();
for(Integer num: selectedItems){
num -= numExtraItems;
OrgNode node = items.get(num);
try {
OrgFile file = new OrgFile(node.fileId, resolver);
file.removeFile(resolver);
file.removeFile(activity);
} catch (OrgFileNotFoundException e) {
e.printStackTrace();
}

node.deleteNode(activity.getContentResolver());
node.deleteNode(activity);
Log.v("selection","deleting : "+items.get(num).name);
}
refresh();
Expand Down
Loading

0 comments on commit adbb502

Please sign in to comment.