فهرست منبع

can delete messages now

Simon Hammer 3 سال پیش
والد
کامیت
19c45d7ea5

+ 3 - 4
app/src/main/java/com/noahvogt/miniprojekt/MainActivity.java

@@ -38,7 +38,6 @@ import com.chaquo.python.android.AndroidPlatform;
 import com.google.android.material.snackbar.Snackbar;
 import com.google.android.material.snackbar.Snackbar;
 import com.noahvogt.miniprojekt.ui.home.SettingsActivity;
 import com.noahvogt.miniprojekt.ui.home.SettingsActivity;
 import com.noahvogt.miniprojekt.ui.show.MessageShowFragment;
 import com.noahvogt.miniprojekt.ui.show.MessageShowFragment;
-import com.noahvogt.miniprojekt.ui.slideshow.EmailViewHolder;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 
 
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
@@ -206,7 +205,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
     @Override
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
     public boolean onCreateOptionsMenu(Menu menu) {
         /* Inflate the menu; this adds items to the action bar if it is present. */
         /* Inflate the menu; this adds items to the action bar if it is present. */
-        getMenuInflater().inflate(R.menu.create_message_options_menu, menu);
+        getMenuInflater().inflate(R.menu.main, menu);
         return true;
         return true;
     }
     }
 
 
@@ -304,9 +303,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
 
 
 
 
     @Override
     @Override
-    public void selectedMessage(Message emailViewModel) {
+    public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
 
 
-        DialogFragment dialog = MessageShowFragment.newInstance(emailViewModel);
+        DialogFragment dialog = MessageShowFragment.newInstance(messages, mEmailViewModel);
         dialog.show(getSupportFragmentManager(), "tag");
         dialog.show(getSupportFragmentManager(), "tag");
 
 
     }
     }

+ 0 - 1
app/src/main/java/com/noahvogt/miniprojekt/messageCreateFragment.java

@@ -46,7 +46,6 @@ public class messageCreateFragment extends DialogFragment implements PopupMenu.O
     public static messageCreateFragment newInstance() {
     public static messageCreateFragment newInstance() {
         return new messageCreateFragment();
         return new messageCreateFragment();
     }
     }
-    private AlertDialog dialog;
 
 
     private static final int NUMBER_OF_THREADS = 4;
     private static final int NUMBER_OF_THREADS = 4;
     static final ExecutorService databaseWriteExecutor =
     static final ExecutorService databaseWriteExecutor =

+ 2 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/archive/ArchiveFragment.java

@@ -72,10 +72,10 @@ public class ArchiveFragment extends Fragment implements CustomAdapter.SelectedM
 
 
 
 
     @Override
     @Override
-    public void selectedMessage(Message messages) {
+    public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
 
 
         AppCompatActivity activity = (AppCompatActivity) getContext();
         AppCompatActivity activity = (AppCompatActivity) getContext();
-        DialogFragment dialog = MessageShowFragment.newInstance(messages);
+        DialogFragment dialog = MessageShowFragment.newInstance(messages, mEmailViewModel);
         dialog.show(activity.getSupportFragmentManager(), "tag");
         dialog.show(activity.getSupportFragmentManager(), "tag");
     }
     }
 }
 }

+ 2 - 6
app/src/main/java/com/noahvogt/miniprojekt/ui/gallery/GalleryFragment.java

@@ -51,8 +51,6 @@ public class GalleryFragment extends Fragment implements CustomAdapter.SelectedM
 
 
         recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
         recyclerView = MainActivity.recyclerView.findViewById(R.id.recyclerView);
 
 
-        recyclerView.setOnClickListener(v -> Toast.makeText(getContext(), "Single Interception Click on position :"+v,
-                Toast.LENGTH_SHORT).show());
 
 
         recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
         recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
             @Override
             @Override
@@ -90,18 +88,16 @@ public class GalleryFragment extends Fragment implements CustomAdapter.SelectedM
             adapter.getList(messages);
             adapter.getList(messages);
         });
         });
 
 
-
-
         return root;
         return root;
 
 
     }
     }
 
 
 
 
     @Override
     @Override
-    public void selectedMessage(Message messages) {
+    public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
 
 
         AppCompatActivity activity = (AppCompatActivity) getContext();
         AppCompatActivity activity = (AppCompatActivity) getContext();
-        DialogFragment dialog = MessageShowFragment.newInstance(messages);
+        DialogFragment dialog = MessageShowFragment.newInstance(messages, mEmailViewModel);
         dialog.show(activity.getSupportFragmentManager(), "tag");
         dialog.show(activity.getSupportFragmentManager(), "tag");
 
 
     }
     }

+ 2 - 1
app/src/main/java/com/noahvogt/miniprojekt/ui/home/CustomAdapter.java

@@ -12,6 +12,7 @@ import androidx.recyclerview.widget.ListAdapter;
 
 
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewHolder;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewHolder;
+import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 
 
 
 
 import java.util.List;
 import java.util.List;
@@ -44,7 +45,7 @@ public class CustomAdapter extends ListAdapter<Message, EmailViewHolder> {
     }
     }
 
 
     public interface SelectedMessage{
     public interface SelectedMessage{
-        void selectedMessage(Message messages);
+        void selectedMessage(Message messages, EmailViewModel emailViewModel);
     }
     }
 
 
     public static class EmailDiff extends DiffUtil.ItemCallback<Message> {
     public static class EmailDiff extends DiffUtil.ItemCallback<Message> {

+ 2 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/home/HomeFragment.java

@@ -69,10 +69,10 @@ public class HomeFragment extends Fragment implements CustomAdapter.SelectedMess
 
 
 
 
     @Override
     @Override
-    public void selectedMessage(Message messages) {
+    public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
 
 
         AppCompatActivity activity = (AppCompatActivity) getContext();
         AppCompatActivity activity = (AppCompatActivity) getContext();
-        DialogFragment dialog = MessageShowFragment.newInstance(messages);
+        DialogFragment dialog = MessageShowFragment.newInstance(messages,mEmailViewModel );
         dialog.show(activity.getSupportFragmentManager(), "tag");
         dialog.show(activity.getSupportFragmentManager(), "tag");
 
 
     }
     }

+ 8 - 5
app/src/main/java/com/noahvogt/miniprojekt/ui/show/MessageShowFragment.java

@@ -6,7 +6,6 @@ import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
-import android.widget.EditText;
 import android.widget.ImageButton;
 import android.widget.ImageButton;
 import android.widget.PopupMenu;
 import android.widget.PopupMenu;
 import android.widget.TextView;
 import android.widget.TextView;
@@ -20,7 +19,6 @@ import androidx.lifecycle.ViewModelProvider;
 
 
 import com.noahvogt.miniprojekt.R;
 import com.noahvogt.miniprojekt.R;
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
-import com.noahvogt.miniprojekt.ui.home.CustomAdapter;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 import com.noahvogt.miniprojekt.ui.slideshow.EmailViewModel;
 
 
 
 
@@ -33,11 +31,15 @@ public class MessageShowFragment extends DialogFragment implements PopupMenu.OnM
     public TextView showMessage;
     public TextView showMessage;
 
 
     private static Message mCurrent;
     private static Message mCurrent;
-    private EmailViewModel mEmailViewModel;
-    public static MessageShowFragment newInstance(com.noahvogt.miniprojekt.ui.DataBase.Message current) {
-       mCurrent = current;
+    private static EmailViewModel mEmailViewModel;
+
+    public static MessageShowFragment newInstance(Message current, EmailViewModel emailViewModel) {
+        mEmailViewModel = emailViewModel;
+        mCurrent = current;
         return new MessageShowFragment();}
         return new MessageShowFragment();}
 
 
+
+
     /* set theming style */
     /* set theming style */
     @Override
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
     public void onCreate(@Nullable Bundle savedInstanceState) {
@@ -119,6 +121,7 @@ public class MessageShowFragment extends DialogFragment implements PopupMenu.OnM
         switch (item.getItemId()) {
         switch (item.getItemId()) {
             case R.id.create_message_delete:
             case R.id.create_message_delete:
                 Toast.makeText(getActivity(), "item delete clicked", Toast.LENGTH_LONG).show();
                 Toast.makeText(getActivity(), "item delete clicked", Toast.LENGTH_LONG).show();
+                mEmailViewModel.deleteMessage(mCurrent);
                 return true;
                 return true;
             case R.id.create_message_spam:
             case R.id.create_message_spam:
                 Toast.makeText(getActivity(), "item spam clicked", Toast.LENGTH_LONG).show();
                 Toast.makeText(getActivity(), "item spam clicked", Toast.LENGTH_LONG).show();

+ 2 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/slideshow/DraftFragment.java

@@ -67,10 +67,10 @@ public class  DraftFragment extends Fragment implements CustomAdapter.SelectedMe
 
 
 
 
     @Override
     @Override
-    public void selectedMessage(Message messages) {
+    public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
 
 
         AppCompatActivity activity = (AppCompatActivity) getContext();
         AppCompatActivity activity = (AppCompatActivity) getContext();
-        DialogFragment dialog = MessageShowFragment.newInstance(messages);
+        DialogFragment dialog = MessageShowFragment.newInstance(messages, mEmailViewModel);
         dialog.show(activity.getSupportFragmentManager(), "tag");
         dialog.show(activity.getSupportFragmentManager(), "tag");
     }
     }
 }
 }

+ 1 - 6
app/src/main/java/com/noahvogt/miniprojekt/ui/slideshow/EmailViewHolder.java

@@ -4,16 +4,11 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
 import android.widget.TextView;
 import android.widget.TextView;
-import android.widget.Toast;
 
 
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
 import com.noahvogt.miniprojekt.ui.DataBase.Message;
 import com.noahvogt.miniprojekt.ui.home.CustomAdapter;
 import com.noahvogt.miniprojekt.ui.home.CustomAdapter;
-import com.noahvogt.miniprojekt.ui.show.MessageShowFragment;
 import com.noahvogt.miniprojekt.R;
 import com.noahvogt.miniprojekt.R;
 
 
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.fragment.app.DialogFragment;
-import androidx.recyclerview.widget.DiffUtil;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.recyclerview.widget.RecyclerView;
 
 
 import java.util.List;
 import java.util.List;
@@ -37,7 +32,7 @@ public class EmailViewHolder extends RecyclerView.ViewHolder {
         itemView.setOnClickListener(new View.OnClickListener() {
         itemView.setOnClickListener(new View.OnClickListener() {
             @Override
             @Override
             public void onClick(View v) {
             public void onClick(View v) {
-                selectedMessage.selectedMessage(messageList.get(getBindingAdapterPosition()));
+                selectedMessage.selectedMessage(messageList.get(getBindingAdapterPosition()), null );
 
 
 
 
             }
             }

+ 2 - 2
app/src/main/java/com/noahvogt/miniprojekt/ui/spam/SpamFragment.java

@@ -72,10 +72,10 @@ public class SpamFragment extends Fragment implements CustomAdapter.SelectedMess
     }
     }
 
 
     @Override
     @Override
-    public void selectedMessage(Message messages) {
+    public void selectedMessage(Message messages, EmailViewModel emailViewModel) {
 
 
         AppCompatActivity activity = (AppCompatActivity) getContext();
         AppCompatActivity activity = (AppCompatActivity) getContext();
-        DialogFragment dialog = MessageShowFragment.newInstance(messages);
+        DialogFragment dialog = MessageShowFragment.newInstance(messages, mEmailViewModel);
         dialog.show(activity.getSupportFragmentManager(), "tag");
         dialog.show(activity.getSupportFragmentManager(), "tag");
     }
     }
 }
 }

+ 15 - 2
app/src/main/res/layout/message_show_fragment.xml

@@ -73,7 +73,20 @@
             android:orientation="vertical"
             android:orientation="vertical"
             android:gravity="top">
             android:gravity="top">
 
 
-            <TextView
+            <com.google.android.material.textfield.TextInputLayout
+                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+                android:id="@+id/create_message_sending_address_layout"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+
+                android:layout_marginStart="12dp"
+                android:layout_marginLeft="12dp"
+                android:layout_marginTop="12dp"
+                android:layout_marginEnd="12dp"
+                android:layout_marginRight="12dp"
+                android:layout_marginBottom="12dp">
+
+                <com.google.android.material.textview.MaterialTextView
                 android:id="@+id/show_From"
                 android:id="@+id/show_From"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
@@ -84,7 +97,7 @@
                 android:layout_marginEnd="12dp"
                 android:layout_marginEnd="12dp"
                 android:layout_marginRight="12dp"
                 android:layout_marginRight="12dp"
                 android:layout_marginBottom="12dp" />
                 android:layout_marginBottom="12dp" />
-
+            </com.google.android.material.textfield.TextInputLayout>
 
 
             <com.google.android.material.textfield.TextInputLayout
             <com.google.android.material.textfield.TextInputLayout
                 style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                 style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"

+ 4 - 3
app/src/main/res/menu/create_message_options_menu.xml

@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
-    <!--wrong, should just be called in Emailviewer -->
-    <item android:id="@+id/create_message_delete"
-        android:title="@string/menu_delete"/>
     <item android:id="@+id/create_message_spam"
     <item android:id="@+id/create_message_spam"
         android:title="@string/menu_spam"/>
         android:title="@string/menu_spam"/>
+    <item android:id="@+id/create_message_delete"
+        android:title="@string/menu_delete"/>
     <item android:id="@+id/create_message_sent_to"
     <item android:id="@+id/create_message_sent_to"
         android:title="@string/menu_sent_to"/>
         android:title="@string/menu_sent_to"/>
     <item android:id="@+id/create_message_move_to"
     <item android:id="@+id/create_message_move_to"
         android:title="@string/menu_move_to"/>
         android:title="@string/menu_move_to"/>
+    <item android:id="@+id/create_message_move_archive"
+        android:title="@string/menu_move_archive"/>
 </menu>
 </menu>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -26,6 +26,7 @@
 
 
     <string name="menu_delete">Delete</string>
     <string name="menu_delete">Delete</string>
     <string name="menu_move_to">Move to</string>
     <string name="menu_move_to">Move to</string>
+    <string name="menu_move_archive">Move to Archive</string>
     <string name="menu_spam">Spam</string>
     <string name="menu_spam">Spam</string>
     <string name="menu_sent_to">Sent to</string>
     <string name="menu_sent_to">Sent to</string>