Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue #107 and issue #117 closed #120

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions .idea/misc.xml

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

40 changes: 19 additions & 21 deletions app/app.iml
Original file line number Diff line number Diff line change
Expand Up @@ -50,66 +50,64 @@
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/app_classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-libraries" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkDebugAndroidTestClasspath" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/checkDebugClasspath" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-main-apk-res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_main_apk_resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_split_apk_resources" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
Expand All @@ -122,8 +120,8 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import android.test.ActivityUnitTestCase;

import com.example.avjindersinghsekhon.minimaltodo.Main.MainActivity;
import com.example.avjindersinghsekhon.minimaltodo.Main.MainFragment;
import com.example.avjindersinghsekhon.minimaltodo.Utility.StoreRetrieveData;
import com.example.avjindersinghsekhon.minimaltodo.Utility.ToDoItem;

Expand All @@ -42,7 +43,7 @@ public class TestStoreRetrieveData extends ActivityUnitTestCase<MainActivity> {

private MainActivity mMainActivity;
private ArrayList<ToDoItem> mOriginalData;
ArrayList<ToDoItem> mTestData;
private ArrayList<ToDoItem> mTestData;

public TestStoreRetrieveData() {
super(MainActivity.class);
Expand Down Expand Up @@ -168,6 +169,6 @@ public void testArrayListToJsonArrayConversion() {

private StoreRetrieveData getDataStorage() {
Context context = getInstrumentation().getTargetContext();
return new StoreRetrieveData(context, MainActivity.FILENAME);
return new StoreRetrieveData(context, MainFragment.FILENAME);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package com.example.avjindersinghsekhon.minimaltodo.Main;

import android.app.AlarmManager;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
Expand Down Expand Up @@ -35,6 +37,7 @@
import com.example.avjindersinghsekhon.minimaltodo.Analytics.AnalyticsApplication;
import com.example.avjindersinghsekhon.minimaltodo.AppDefault.AppDefaultFragment;
import com.example.avjindersinghsekhon.minimaltodo.R;
import com.example.avjindersinghsekhon.minimaltodo.Reminder.ReminderActivity;
import com.example.avjindersinghsekhon.minimaltodo.Reminder.ReminderFragment;
import com.example.avjindersinghsekhon.minimaltodo.Settings.SettingsActivity;
import com.example.avjindersinghsekhon.minimaltodo.Utility.ItemTouchHelperClass;
Expand All @@ -49,6 +52,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.UUID;

import static android.app.Activity.RESULT_CANCELED;
import static android.content.Context.ALARM_SERVICE;
Expand All @@ -60,6 +64,7 @@ public class MainFragment extends AppDefaultFragment {
private ArrayList<ToDoItem> mToDoItemsArrayList;
private CoordinatorLayout mCoordLayout;
public static final String TODOITEM = "com.avjindersinghsekhon.com.avjindersinghsekhon.minimaltodo.MainActivity";
public static final String TAG = "MainFragment";
private MainFragment.BasicListAdapter adapter;
private static final int REQUEST_ID_TODO_ITEM = 100;
private ToDoItem mJustDeletedToDoItem;
Expand Down Expand Up @@ -385,6 +390,8 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (!existed) {
addToDataStore(item);
}
// });



}
Expand All @@ -397,6 +404,7 @@ private AlarmManager getAlarmManager() {
private boolean doesPendingIntentExist(Intent i, int requestCode) {
PendingIntent pi = PendingIntent.getService(getContext(), requestCode, i, PendingIntent.FLAG_NO_CREATE);
return pi != null;

}

private void createAlarm(Intent i, int requestCode, long timeInMillis) {
Expand All @@ -407,6 +415,7 @@ private void createAlarm(Intent i, int requestCode, long timeInMillis) {
}

private void deleteAlarm(Intent i, int requestCode) {
Log.d(TAG, "deleteAlarm: called");
if (doesPendingIntentExist(i, requestCode)) {
PendingIntent pi = PendingIntent.getService(getContext(), requestCode, i, PendingIntent.FLAG_NO_CREATE);
pi.cancel();
Expand All @@ -415,6 +424,17 @@ private void deleteAlarm(Intent i, int requestCode) {
}
}

private void deleteNotification(UUID mTodoUUID) {
int NOTIFICATION_ID = mTodoUUID.hashCode();
Intent notificationIntent = new Intent(getContext(),ReminderActivity.class);
PendingIntent i = PendingIntent.getActivity(getContext(), NOTIFICATION_ID, notificationIntent, PendingIntent.FLAG_NO_CREATE);

if (i != null){
NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(NOTIFICATION_ID);
}
}

private void addToDataStore(ToDoItem item) {
mToDoItemsArrayList.add(item);
adapter.notifyItemInserted(mToDoItemsArrayList.size() - 1);
Expand All @@ -431,8 +451,8 @@ public void makeUpItems(ArrayList<ToDoItem> items, int len) {
}

}

public class BasicListAdapter extends RecyclerView.Adapter<BasicListAdapter.ViewHolder> implements ItemTouchHelperClass.ItemTouchHelperAdapter {

private ArrayList<ToDoItem> items;

@Override
Expand All @@ -451,13 +471,15 @@ public void onItemMoved(int fromPosition, int toPosition) {

@Override
public void onItemRemoved(final int position) {
Log.d(TAG, "onItemRemoved: position: "+position);
//Remove this line if not using Google Analytics
app.send(this, "Action", "Swiped Todo Away");

mJustDeletedToDoItem = items.remove(position);
mIndexOfDeletedToDoItem = position;
Intent i = new Intent(getContext(), TodoNotificationService.class);
deleteAlarm(i, mJustDeletedToDoItem.getIdentifier().hashCode());
deleteNotification(mJustDeletedToDoItem.getIdentifier());
notifyItemRemoved(position);

// String toShow = (mJustDeletedToDoItem.getToDoText().length()>20)?mJustDeletedToDoItem.getToDoText().substring(0, 20)+"...":mJustDeletedToDoItem.getToDoText();
Expand Down Expand Up @@ -559,7 +581,6 @@ public int getItemCount() {
this.items = items;
}


@SuppressWarnings("deprecation")
public class ViewHolder extends RecyclerView.ViewHolder {

Expand All @@ -569,6 +590,7 @@ public class ViewHolder extends RecyclerView.ViewHolder {
// TextView mColorTextView;
ImageView mColorImageView;
TextView mTimeTextView;

// int color = -1;

public ViewHolder(View v) {
Expand All @@ -590,8 +612,8 @@ public void onClick(View v) {
linearLayout = (LinearLayout) v.findViewById(R.id.listItemLinearLayout);
}


}

}

//Used when using custom fonts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

public class DeleteNotificationService extends IntentService {

public static final String TAG = "DeleteNotificationService";
private StoreRetrieveData storeRetrieveData;
private ArrayList<ToDoItem> mToDoItems;
private ToDoItem mItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,15 @@ public ToDoItem(String todoBody,String tododescription, boolean hasReminder, Da
mTodoIdentifier = UUID.randomUUID();
}

public ToDoItem(String todoBody, boolean hasReminder, Date todoDate){
mToDoText = todoBody;
mHasReminder = hasReminder;
mToDoDate = todoDate;
mTodoColor = 1677725;
mToDoDescription = "";
mTodoIdentifier = UUID.randomUUID();
}

public ToDoItem(JSONObject jsonObject) throws JSONException {
mToDoText = jsonObject.getString(TODOTEXT);
mToDoDescription = jsonObject.getString(TODODESCRIPTION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public class TodoNotificationService extends IntentService {
public static final String TODOUUID = "com.avjindersekhon.todonotificationserviceuuid";
private String mTodoText;
private UUID mTodoUUID;
private int mUUIDHash;
private Context mContext;

public TodoNotificationService() {
Expand All @@ -28,6 +29,7 @@ public TodoNotificationService() {
protected void onHandleIntent(Intent intent) {
mTodoText = intent.getStringExtra(TODOTEXT);
mTodoUUID = (UUID) intent.getSerializableExtra(TODOUUID);
mUUIDHash = mTodoUUID.hashCode();

Log.d("OskarSchindler", "onHandleIntent called");
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Expand All @@ -44,7 +46,7 @@ protected void onHandleIntent(Intent intent) {
.setContentIntent(PendingIntent.getActivity(this, mTodoUUID.hashCode(), i, PendingIntent.FLAG_UPDATE_CURRENT))
.build();

manager.notify(100, notification);
manager.notify(mUUIDHash, notification);
// Uri defaultRingone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
// MediaPlayer mp = new MediaPlayer();
// try{
Expand Down