Skip to content
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
19 changes: 8 additions & 11 deletions .idea/misc.xml

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

2 changes: 2 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,6 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'

implementation 'com.hudomju:swipe-to-dismiss-undo:1.0'
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class DietScheduleActivity extends AppCompatActivity {
private TextView timeView;
private TextView monthView;
private TextView monthSpecView;
private TextView change;

private int year;
private int month;
Expand All @@ -38,6 +39,7 @@ protected void onCreate(Bundle savedInstanceState) {
timeView = findViewById(R.id.frag_schedule_time);
monthView = findViewById(R.id.frag_schedule_month);
monthSpecView = findViewById(R.id.frag_schedule_month_spec);
change = findViewById(R.id.change);

initSchedule();

Expand All @@ -47,7 +49,7 @@ protected void onCreate(Bundle savedInstanceState) {

initData();

timeView.setOnClickListener(new View.OnClickListener() {
change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
YearMonthPickerDialog pd = new YearMonthPickerDialog(year, month);
Expand Down
55 changes: 48 additions & 7 deletions app/src/main/java/com/example/fixfit/ToDoRoutineActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,24 @@

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ListView;
import android.widget.Toast;

import com.example.fixfit.fragment.InputRoutineDialog;
import com.hudomju.swipe.SwipeToDismissTouchListener;
import com.hudomju.swipe.adapter.ListViewAdapter;

import java.util.ArrayList;
import java.util.Calendar;
Expand All @@ -28,6 +35,10 @@ public class ToDoRoutineActivity extends AppCompatActivity {

private SharedPreferences preferences;

private SwipeToDismissTouchListener<ListViewAdapter> touchListener;


@SuppressLint("ClickableViewAccessibility")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -38,9 +49,26 @@ protected void onCreate(Bundle savedInstanceState) {
list = findViewById(R.id.routine_list);
adapter = new RoutineAdapter();

touchListener = new SwipeToDismissTouchListener<>(
new ListViewAdapter(list),
new SwipeToDismissTouchListener.DismissCallbacks<ListViewAdapter>() {
@Override
public boolean canDismiss(int position) {
return true;
}

@Override
public void onDismiss(ListViewAdapter view, int position) {

}
});

list.setAdapter(adapter);

loadRoutines();

list.setOnTouchListener(touchListener);
list.setOnScrollListener((AbsListView.OnScrollListener) touchListener.makeScrollListener());
}

public void loadRoutines() {
Expand Down Expand Up @@ -87,6 +115,11 @@ public long getItemId(int position) {
return 0;
}

public void remove(int position) {
routines.remove(position);
notifyDataSetChanged();
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(position < routines.size()) {
Expand All @@ -110,13 +143,13 @@ public View getView(int position, View convertView, ViewGroup parent) {
checkBox.setChecked(false);
}

convertView.findViewById(R.id.frag_routine_remove).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
routines.remove(position);
adapter.notifyDataSetChanged();
}
});
// convertView.findViewById(R.id.frag_routine_remove).setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// routines.remove(position);
// adapter.notifyDataSetChanged();
// }
// });

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
Expand All @@ -131,6 +164,14 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
editor.apply();
}
});

convertView.findViewById(R.id.delete).setOnClickListener(view -> {
adapter.remove(position);
});

convertView.findViewById(R.id.undo).setOnClickListener(view -> {
touchListener.undoPendingDismiss();
});
} else {
convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.frag_routine_plus, parent, false);
convertView.setOnClickListener(new View.OnClickListener() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FA7239"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/>
</vector>
Loading